Створення бота для Telegram на webhooks — Бот для Telegram на

В месенджері Telegram з’явилася можливість створити бота — з його допомогою ви можете відповідати на повідомлення в телеграме, розсилати повідомлення, додавати до повідомлення зображення і так далі.

Користувачі node.js вже підготували npm-пакет, з яким все стає ще простіше.

Спочатку створюємо бота. Стукаємо до @botfather, говоримо йому /newbot, пишемо ім’я бота і його юзернейм (він повинен закінчуватися на _bot).

Тепер у вас є бот, і @botfather повідомляє посилання для пошуку бота і його http-токен. Токен знадобиться нам далі як ключ для API. У своєму телеграм-обліковому записі ви можете знайти свого бота і увійти до нього в друзі.

Тепер до програмування. Встановіть npm-пакет:

Створіть скрипт:

Збережіть його під ім’ям app.js і запустіть його в node.js:

Все, бот працює. Напишіть що-небудь йому в телеграме, він відповість «Hello!».

Пару слів про API. По-перше, є два варіанти запуску бота: polling і WebHook. В режимі WebHook сервер телеграма буде смикати вашого бота кожен раз при надходженні запиту. На жаль, цей режим вимагає https-з’єднання і валідного (не self-signed) сертифіката https. У мене такого немає.

В режимі polling бот буде сам раз в секунду ходити на сервер телеграма і забирати нові дані. Цей режим таких обмежень немає, тому він набагато простіше для початку експериментів — єдине, реакція буде миттєвою, а в середньому з пів-секундною затримкою. Сподіваюся, це не буде проблемою.

Давайте спробуємо зробити щось більш цікаве: нехай бот після отримання запиту «photo» знімає фотографію камерою макбук і відправляє її. Для зйомки нам знадобиться модуль imagesnap.js.


Поділитися з друзями
Корисні поради - Вказівка