Создание бота для Telegram на webhooks — Бот для Telegram на

В мессенджере Telegram появилась возможность создать бота — с его помощью вы можете отвечать на сообщения в телеграме, рассылать уведомления, добавлять к сообщениям картинки и так далее.

Пользователи node.js уже подготовили npm-пакет, с которым всё становится ещё проще.

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

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

Теперь к программированию. Установите npm-пакет:

Создайте скрипт:

Сохраните его под именем app.js, и запустите его в node.js:

Всё, бот работает. Напишите что-нибудь ему в телеграме, он ответит «Hello!».

Снимок экрана 2015-07-19 в 13.26.26

Пару слов об API. Во-первых, есть два варианта запуска бота: polling и WebHook. В режиме WebHook сервер телеграма будет дёргать вашего бота каждый раз при поступлении запроса. К сожалению, этот режим требует https-подключения и валидного (не self-signed) сертификата https. У меня такого нет.

В режиме polling бот будет сам раз в секунду ходить на сервер телеграма и забирать новые данные. Этот режим таких ограничений нет, поэтому он гораздо проще для начала экспериментов — единственное, реакция будет не мгновенной, а в среднем с пол-секундной задержкой. Надеюсь, это не будет проблемой.

Давайте попробуем сделать что-то более интересное: пускай бот после получения запроса «photo» снимает фотографию камерой макбука и отправляет её. Для съёмки нам потребуется модуль imagesnap.js.

Снимок экрана 2015-07-19 в 13.25.03
Поделиться:
Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.