Документация Accelera

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_CONNECTIONURL соединения с Redis
BROKER_CONNECTIONURL соединения с брокером сообщений

Конфигурация

Распакуйте образы приложения из файла 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"
				}
			]
		]
	}
}

На этой странице