Всім — привіт. Давно зріла ідея розібратися з відправкою даних з форми на сайті в месенджер Telegram, але руки не доходили, а моментально отримувати заявки прямо в телефон, ой як хотілось!
І ось, нарешті посидів і розібрався. Звичайно осягнути всі тонкощі API — не вдалося, але по шматочках назбирав інформацію і вдалося відправити дані з контактної форми в чат Telegram.
Як зв’язати форму на сайті з Telegram
Отже, давайте приступимо. Перше що нам потрібно, це створити свого бота. Робиться це досить просто. У пошуку наберіть @botfather, відкрийте батьківського бота і натисніть «Start»:
Далі:
- Пишемо команду /newbot, для створення нового бота.
- Придумуємо ім’я бота.
- Придумуємо нік бота.
Якщо все пройшло успішно, то побачите привітання і токен вашого бота, в моєму випадку це:
341996777:AAHbnuvQib-vHU47i-6hbUrCU9D-qHYekxc
Тепер потрібно знайти свого бота в пошуку, вказавши його нік і натиснути «Start», щоб активувати його. В моєму випадку нік @DWS_MESSAGE_bot.
Після цього, потрібно створити груповий чат, в який будуть надходити заявки і запросити туди нашого бота. Давайте займемося цим.
Зайдіть в меню, натисніть «New Group» та задайте ім’я вашого чату.
Не забуваємо запросити свого бота в чат.
На даний момент у нас є бот, ми знаємо його токен, є чат, в який будуть надходити заявки, і нам залишилося дізнатися тільки id чату. Для цього, напишемо в чаті:
- /join @ник_бота
А потім, в браузері введемо:
- https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXXX/getUpdates,
де, XXXXXXXXXXXXXXXXXXXXXXX — токен вашого бота, отриманий раніше.
Якщо все зробили правильно, то перед вами відкриється така сторінка:
Нас цікавить об’єкт “chat”:{“id«:-209253141. — Це id мого тестового чату. На даному етапі у нас є все, щоб відправляти текстові повідомлення з контактної форми на сайті в Telegram. Давайте займемося реалізацією PHP-обробника нашої форми, і зробимо розмітку самої форми.
Розмітка форми
Не забувайте, що форма відправляється без перезавантаження сторінки, а значить використовується ajax, і, для спрощення, jQuery. Тому підключаємо сам jQuery, якщо не підключений, а після і сам скрипт.
Код з ajax запитом. Файл — telegramform.js
А тепер сам обробник нашої форми. Файл — send-message-to-telegram.php:
Багато в чому він повторює обробник з інших форм на блозі. Наприклад, у статті «Контактна форма без перезавантаження сторінки» використовується аналогічний підхід, і ви легко зможете здійснити відправку даних як на пошту, так і в месенджер одночасно.
Тут варто звернути увагу на змінні $token і $chat_id. Не забувайте підставити туди свої дані. Крім того, не забувайте, що все це буде працювати, тільки якщо дані йдуть через https.
Ось так, засобами php можна відправляти в Telegram повідомлення. Якщо ви використовуєте MODX CMS, то на блозі igamov.ru є чудова інструкція щодо інтеграції форми з месенджером.
Скачати ісходник
До речі, підписуйтесь на Telegram канал. Повідомлення про оновлення на блозі, в першу чергу, приходять туди)
Це цікаво:
Сподобалася стаття? Не хочете пропустити наступні матеріали про самостійному створенні та розкрутці landing page?
Підписуйтесь на оновлення!