Отправка уведомлений с помощью Telegram. Пример: настройка подключения, пути передачи данных, сценария, приложения и Telegram-бота
Содержание
Введение
В этой статье представлен пример настройки Comindware Business Application Platform для отправки пользователю сообщений в Telegram.
Прикладная задача
Требуется отправлять пользователю сообщение в Telegram с текстом из поля «Сообщение» на форме по нажатию кнопки «Отправить в Telegram».
Настройка приложения
- Создайте приложение «Интеграция с Telegram».
-
Создайте шаблон записи «Уведомления» в приложении «Интеграция с Telegram».
-
Создайте атрибуты «ID чата» и «Сообщение» типа «Текст» в шаблоне «Уведомления».
- Создайте в шаблоне «Уведомления» кнопку «Отправить в Telegram» со следующими свойствами:
- Контекст операции: запись
- Операция: вызвать событие «Нажата кнопка»
- Результат выполнения: обновить данные
- Поместите на основную форму шаблона «Уведомления» атрибуты «ID чата» и «Сообщение» и кнопку «Отправить в Telegram».
Инициализация бота в Telegram
- В мессенджере Telegram откройте чат @BotFather
- В чате введите команду
/start
- Введите команду
/new bot
- Введите имя нового бота. Имя бота должно заканчиваться на слово
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-бота
- Замените
- Формат данных:
- Кодировка данных: UTF-8
- Тип аутентификации: отсутствует
- Остальные свойства оставьте без изменений.
- Откройте приложение «Интеграция с Telegram».
- На странице администрирования приложения выберите пункт «Пути передачи данных».
- В списке путей передачи данных в меню «Создать» выберите пункт «Подключения REST и OData» – «Отправка HTTP-запросов».
- Настройте путь передачи данных следующим образом:
- Основные свойства
- Подключение: Подключение к Telegram
- Системное имя: telegram_send_route
- Описание: Передача данных в Telegram
- Атрибуты сообщений
- Тип сообщения: отправка HTTP-запросов
- Запрос
Системное имя Тип chat_id Строка text Строка - Ответ: оставьте таблицу пустой
- Ответ с ошибкой: оставьте таблицу пустой
- Интеграция
- Метод запроса: POST
- Шаблон пути запроса:
sendMessage
— это метод API Telegram для отправки сообщений боту.
sendMessage - Атрибуты для сериализации в тело запроса:
chat_id,message
В этом поле перечислите через запятую атрибуты из таблицы «Запрос» с вкладки «Атрибуты сообщений».
Имена этих атрибутов предопределены спецификацией API Telegram. - Укажите атрибуты для сериализации ответа без ошибки и ответа с ошибкой
Путь к атрибуту Выражение на языке запросов $
$
Примечание
Символ доллара
$
атрибутах для сериализации ответов означает передачу всех данных ответа в переменные для успешного ответа и ответа с ошибкой, указанные в действии «Отправить сообщение» в сценарии.
- Остальные свойства оставьте без изменений.
- Основные свойства
Настройка сценария
- В приложении «Интеграция с Telegram» создайте сценарий «Отправка уведомления», выбрав контекст выполнения « От имени системы».
- В конструкторе сценария настройте событие «Нажатие кнопки» следующим образом:
- Контекстный шаблон: Уведомления
- Кнопка: Отправить в Telegram
- Добавьте и настройте действие «Изменить значения переменных»:
- Операция со значениями переменных: заменить
- Набор переменных: body
- Таблица переменных
Имя переменной Значение text Атрибут: Сообщение chat_id Атрибут: ID чата
- Добавьте и настройте действие «Отправить сообщение»:
- Подключение: telegram_send_connection
- Путь передачи данных: telegram_send_route
- Переменная с сообщением: body
- Переменная для успешного ответа: response
- Переменная для ответа с ошибкой: error_response
Тестирование бота
- Создайте запись в шаблоне «Уведомления».
- В поле «ID чата» введите ID чата своего бота.
- В поле «Сообщение» введите любой текст.
- Сохраните запись.
- Нажмите кнопку «Отправить в Telegram».
- В чате вашего бота должно прийти сообщение, отправленное с формы.
Связанные статьи
Кнопки. Определение, настройка, удаление
Подключения. Определения, типы, создание, настройка, удаление
Пути передачи данных. Определения, типы, создание, настройка, удаление
Эта статья была полезна 1 чел.