Accelera Telegram bots
Модуль Accelera Telegram bots предназначен для коммуникацией с пользователями Telegram средствами API Telegram.
Установка и подключение
Модуль распространяется как Docker-образ и аналогичен в обслуживании и запуске остальным компонентам системы. Также аналогичны требования.
Модуль должен иметь доступ к брокеру RabbitMQ, а также к БД Redis.
При запуске модуля передайте следующие переменные окружения:
NODE_ENV=production
LOG_LEVEL=info
REDIS_CONNECTION=redis://localhost:6379
BROKER_CONNECTION=amqp://user:password@localhost:5672| Параметр | Значение |
|---|---|
| NODE_ENV | Установка приложения в production режим |
| LOG_LEVEL | Уровень логирования. Возможные значения - trace, debug, info, warn, error, fatal |
| REDIS_CONNECTION | URL соединения с Redis |
| BROKER_CONNECTION | URL соединения с брокером сообщений |
Конфигурация
Распакуйте образы приложения из файла flows_telegram_{your_version}.tar.gz следующей командой:
docker load < flows_telegram_{your_version}.tar.gzДля получения данных для скачивания образа контейнера обратитесь к администратору.
Все исходящие запросы и входящие сообщения хранятся в таблицах telegram_requests и telegram_messages.
Примеры входящих данных
Входящие сообщения от пользователей модуль принимает с помощью постоянного опроса по адресу https://api.telegram.org/bot<token>/getUpdates
Примеры входящих сообщений описаны в разделе примеры входящих сообщений.
Примеры исходящих данных
Отправка сообщений
URL - https://api.telegram.org/bot<token>/sendMessage
{
"chat_id": 123456789,
"text": "Hello!",
"reply_markup": {
"keyboard": [
[
{
"text": "open webapp",
"web_app": {
"url": "https://link.to/site"
}
},
{
"text": "contact",
"request_contact": true
}
],
[
{
"text": "send location",
"request_location": true
},
{
"text": "super"
}
]
]
}
}Отправка фото
URL - https://api.telegram.org/bot<token>/sendPhoto
{
"chat_id": 123456789,
"photo": "https://link.to/photo",
"caption": "Photo",
"reply_markup": {
"inline_keyboard": [
[
{
"text": "web",
"web_app": {
"url": "https://link.to/site"
}
}
],
[
{
"text": "url",
"url": "https://link.to/site"
}
]
]
}
}Отправка стикера
URL - https://api.telegram.org/bot<token>/sendSticker
{
"chat_id": 123456789,
"sticker": "https://link.to/sticker",
"reply_markup": {
"keyboard": [
[
{
"text": "open webapp",
"web_app": {
"url": "https://link.to/site"
}
},
{
"text": "contact",
"request_contact": true
}
],
[
{
"text": "send location",
"request_location": true
},
{
"text": "super"
}
]
]
}
}Отправка опроса
URL - https://api.telegram.org/bot<token>/sendPoll
{
"chat_id": 123456789,
"question": "2+2=?",
"options": ["1", "2", "3"],
"is_anonymous": "false",
"reply_markup": {
"keyboard": [
[
{
"text": "open webapp",
"web_app": {
"url": "https://link.to/site"
}
},
{
"text": "contact",
"request_contact": true
}
],
[
{
"text": "send location",
"request_location": true
},
{
"text": "super"
}
]
]
}
}Отправка документа
URL - https://api.telegram.org/bot<token>/sendDocument
{
"chat_id": 123456789,
"document": "https://link.to/doc",
"caption": "Document",
"reply_markup": {
"inline_keyboard": [
[
{
"text": "web",
"web_app": {
"url": "https://link.to/site"
}
}
],
[
{
"text": "url",
"url": "https://link.to/site"
}
]
]
}
}