Привіт усім! Сьогодні ми будемо розбиратися, як відправити дані з html-форми в Telegram?
Що таке форма зворотного зв’язку – ви знаєте (впевнений). Їх ліплять скрізь – навіть там, де вони не особливо потрібні. А ще ви знаєте, що таке Telegram – дуже зручний (напевно, найзручніший наразі) месенджер, і взагалі – надбудова над Інтернетом. Загалом, розтікатися по древу не буду, розповім, як зробити форму зворотного зв’язку, дані з якої будуть йти в Telegram.
Для цього нам знадобитися:
1. Створити бота.
2. Створити групу, до якої ми повинні приєднати нашого свіжоствореного бота з пункту 1
3. Створити форму зворотного зв’язку, яка буде знаходитися на нашому сайті. Наприклад, форма матиме такий вигляд (це просто форма, вона нічого не зробить – кнопку можете не натискати посилено 🙂 ):
Мені, якщо чесно, ліньки зараз напружуватися, тому форма складається тільки з одного поля і кнопки 🙂
Отже, форма є, а тепер – розберемося з кодом, який буде відправляти дані з html-форми в Telegram. Виглядає код максимально просто:
Сама логіка роботи коду така:
1. Ми знаємо, що можемо працювати з Telegram, надсилаючи йому команди в api через адресний рядок браузера.
2. Отже, нам потрібно лише:
– знати токен нашого бота (ми отримуємо його в момент створення бота)
– знати chat_id (дуже просто отримати chat_id перейшовши за посиланням:
https://api.telegram.org/botTOKEN>/getUpdates, тільки замість TOKEN поставте токен, який ви отримали під час створення свого бота 😉
І так – якщо ви раптом переходячи за посиланням отримуєте щось на кшталт:
{“ok”:true,”result”:[]}
додайте свого бота до своєї групи, куди і будуть приходити повідомлення з html-форми 😉 )
– сформувати підсумковий рядок, який міститиме в собі:
— посилання на Telegram API
— токен бота
— команда для бота (у нашому випадку – sendMessage
— chat_id (де і як його отримати я писав кількома рядками вище)
— режим кодування тексту
— і, власне, сам текст, який нам потрібно отримати з html-форми.
Давайте зробимо все це:
– chat_id – є
– токен – є
– посилання на Telegram API – є
– текст, який ми отримуємо з html-форми – є (ми отримуємо його ось тут: $text = ‘Текст з html-форми: ‘.$_POST[‘input_text_box’];
Залишилося сформувати підсумковий рядок для браузера:
$url = ‘https://api.telegram.org/bot’.$token.’/sendMessage?chat_id=’.$chat_id.’&parse_mode=html&text=’.$text;
і передати цей рядок браузеру:
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handle);
header('Location: https://lavrynenko.com/form_to_telegram.html');
Спробувати все це в робочому вигляді ви можете за ось цим посиланням 🙂 Переходите на нього – бачите html-форму, в яку вводите текст і відправляєте.
Утім – можна і не переходити за посиланням… ось форма у фреймі 🙂 :
Я дивлюся іноді, як люди пишуть щось у форму, а в групу не додаються, щоб подивитися, як текст туди з форми йде. Нагадую – ось група: https://t.me/html_to_telegram – заходьте сюди, і дивіться, як там з’являються ваші тексти, надіслані з форми 😉
ВАЖЛИВО:
Хочете переконатися, що відправлений через html-форму текст доходить до Телеграму? Немає проблем – додавайте до групи і дивіться, як бот виводить у цю групу все, що ви написали в html-форму в чаті в Telegram.
КАПЕЦЬ ЯК ВАЖЛИВО: якщо раптом ваше повідомлення не дійшло в групу – напишіть мені в Телеграм або на пошту. Хіба мало, якийсь збій – буду поправляти 🙂
Як завжди – у разі виникнення питань пишіть на пошту, або в Telegram.
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️