Пишем «ТамТам»-бота на Node.js с использованием библиотеки node-tamtam-botapi
Недавно у мессенджера «ТамТам» появилось Bot API. Разработчики предоставили библиотеку для работы на Java. Позже появились сторонние библиотеки на Kotlin и Python, а для Node.js модулей для работы с Bot API не было. Так я решил написать свою библиотеку node-tamtam-botapi.
В этой статье я опишу пример работы с библиотекой и создание простого бота, который будет отправлять приветственное сообщение в ответ на любой текст. Статья по самой библиотеке выйдет отдельно, сам проект еще находится на стадии beta-версии.
Исходные данные:
- документация — TamTam Bot API;
- сервер на Heroku — tutorial (простой в развертывании и бесплатный облачный сервис);
- исходный код библиотеки — Node.js TamTam Bot API;
- пакет npm — node-tamtam-botapi;
- данные от Bot API будем получать по WebHook.
Установка модуля:
Подключение необходимых модулей:
Создание бота и получение токена происходит через @PrimeBot в «ТамТам». Версия Bot API на момент написания статьи — 0.1.8.
Установка параметров бота:
Инициализация бота:
Подготовка сервера для принятия данных:
Чтобы получать данные по WebHook, нам необходимо выполнить метод subscribe:
После выполнения метода subscribe будем обрабатывать получаемые данные следующим образом:
Важно. Если бот подписан на получение данных по WebHook, он не сможет получать данные по long polling.
Запуск сервера:
Подготовка закончена, теперь начнём заниматься обработкой запросов и отправкой сообщений. Для начала создадим тело запроса для отправки сообщения:
Для обработки сообщений от пользователей подпишемся на событие 'message_created'. Каждый раз, когда будет приходить сообщение от пользователя, будет вызываться следующий метод:
Далее в этом методе будем вызвать 'sendMessage' для отправки сообщений. В нем есть три параметра:
- user_id {Number} - optional;
- chat_id {Number} - optional;
- body {Object}.
При вызове метода необходимо указать один из параметров user_id или chat_id. При получении update мы можем получить chat_id следующим образом:
В итоге получается:
На данный момент это все. Исходный код бота можно посмотреть в Readme в Node.js TamTam Bot API.
Если возникнут вопросы, пишите мне в «ТамТам».
Зачем писать бот для ботов?(пользователей ТамТам)
Чтобы хоть кто-то там общался. Нужно же перед инвесторами оправдываться ростом аудитории, к-вом отправленных сообщений в день и тд.
Дизлайк не глядя
Комментарий недоступен