Отправка уведомлений с помощью Telegram. Пример: настройка подключения, пути передачи данных, сценария, приложения и Telegram-бота
Введение
В этой статье представлен пример настройки Comindware Platform для отправки пользователю сообщений в Telegram.
Прикладная задача
Требуется отправлять пользователю сообщение в Telegram с текстом из поля «Сообщение» на форме по нажатию кнопки «Отправить в Telegram».
Настройка приложения
- Создайте приложение «Интеграция с Telegram».
- Создайте шаблон записи «Уведомления» в приложении «Интеграция с Telegram».
- Создайте атрибуты «ID чата» и «Сообщение» типа «Текст» в шаблоне «Уведомления».
-
Создайте в шаблоне «Уведомления» кнопку «Отправить в Telegram» со следующими свойствами:
- Контекст кнопки: Запись
- Тип кнопки: Вызвать событие «Нажата кнопка»
- Результат выполнения: Обновить данные
-
Поместите на основную форму шаблона «Уведомления» атрибуты «ID чата» и «Сообщение» и кнопку «Отправить в Telegram».
Инициализация бота в Telegram
- В мессенджере Telegram откройте чат @BotFather.
- В чате введите команду
/start. - Введите команду
/newbot. - Введите имя нового бота. Имя бота должно заканчиваться на слово
bot, например:example_bot. - В чате отобразится сообщение со ссылкой на чат с ботом (например,
t.me/example_bot) и токеном бота видаXXXX:XXXXX. - Запишите токен бота.
- Перейдите в чат созданного бота, введите команду
/startи любое сообщение, чтобы активировать его. - В адресную строку браузера введите строку
https://api.telegram.org/bot<Токен:бота>/getUpdates, заменив<Токен:бота>на фактический токен вашего бота. -
В браузере отобразится сообщение вида:
{"ok":true,"result":[{"update_id":XXXXXXXX, "message":{"message_id":4,"from":{"id":1234567890,"is_bot":false,"first_name":"User Name","username":"username","language_code":"en"},"chat":{"id":1234567890,"first_name":"User Name","username":"username","type":"private"},"date":1717687196,"text":"chatid"}}]} -
Найдите в этом сообщении идентификатор чата вида
"from":{"id":1234567890или"chat":{"id":1234567890, где цифры — это идентификатор чата вашего бота. - Настройте подключение к Telegram с использованием полученных ключа и ID чата.
Настройка подключения к Telegram и пути передачи данных
- Откройте страницу «Администрирование» – «Инфраструктура» – «Подключения».
- В меню «Создать» выберите пункт «Подключения REST и OData» – «Отправка HTTP-запросов».
-
Настройте подключение следующим образом:
- Системное имя:
telegram_send_connection - Описание: Подключение к Telegram
- URI:
https://api.telegram.org/bot<Токен:бота>— замените<Токен:бота>на токен своего Telegram-бота - Формат данных: JSON
- Кодировка данных: UTF-8
- Тип аутентификации: отсутствует
- Остальные свойства оставьте без изменений.
- Системное имя:
-
Откройте приложение «Интеграция с Telegram».
- На странице администрирования приложения выберите пункт «Пути передачи данных».
- В списке путей передачи данных в меню «Создать» выберите пункт «Подключения REST и OData» – «Отправка HTTP-запросов».
-
Настройте путь передачи данных следующим образом:
Основные свойства
- Подключение: Подключение к Telegram
- Системное имя:
telegram_send_route - Описание: Передача данных в Telegram
Атрибуты сообщений
- Тип сообщения: отправка HTTP-запросов
-
Запрос:
Системное имя Тип chat_idСтрока textСтрока -
Ответ: оставьте таблицу пустой
- Ответ с ошибкой: оставьте таблицу пустой
Интеграция
- Метод запроса:
POST - Шаблон пути запроса:
sendMessage— метод API Telegram для отправки сообщений боту - Атрибуты для сериализации в тело запроса:
chat_id,text— перечислите через запятую атрибуты из таблицы «Запрос». Имена этих атрибутов предопределены спецификацией API Telegram. -
Атрибуты для сериализации ответа без ошибки и ответа с ошибкой:
Путь к атрибуту Выражение на языке запросов $$Примечание
Символ
$в атрибутах для сериализации ответов означает передачу всех данных ответа в переменные для успешного ответа и ответа с ошибкой, указанные в действии «Отправить сообщение» в сценарии.
Остальные свойства оставьте без изменений.
Настройка сценария
- В приложении «Интеграция с Telegram» создайте сценарий «Отправка уведомления», выбрав контекст выполнения «От имени системы».
-
В конструкторе сценария настройте событие «Нажатие кнопки» следующим образом:
- Контекстный шаблон: Уведомления
- Кнопка: Отправить в Telegram
-
Добавьте и настройте действие «Изменить значения переменных»:
- Операция со значениями переменных: Заменить
- Набор переменных:
body -
Таблица переменных:
Имя переменной Значение textАтрибут: Сообщение chat_idАтрибут: ID чата
-
Добавьте и настройте действие «Отправить сообщение»:
- Подключение:
telegram_send_connection - Путь передачи данных:
telegram_send_route - Переменная с сообщением:
body - Переменная для успешного ответа:
response - Переменная для ответа с ошибкой:
error_response
- Подключение:
Тестирование бота
- Создайте запись в шаблоне «Уведомления».
- В поле «ID чата» введите ID чата своего бота.
- В поле «Сообщение» введите любой текст.
- Сохраните запись.
- Нажмите кнопку «Отправить в Telegram».
- В чате вашего бота должно прийти сообщение, отправленное с формы.