Любое событие Telegram
Позволяет обрабатывать любые события Telegram, которые произошли в чате с ботом.
Создание обработчика событий
Чтобы настроить отслеживание любого события Telegram, перейдите в раздел "События мессенджеров и приложений", откройте вкладку Telegram.

Нажмите на кнопку "Создать" и выберите "Любое событие Telegram".

В форме создания события заполните название и выберите сценарий.

Добавьте JavaScript-код в поле для ввода кода. В коде вы можете обработать события Telegram, подробнее о доступных событиях см. документацию Telegram.
Полученный от Telegram запрос доступен в объекте response:
var rawBody = response.body; // Сырое тело запроса
var data = response.data; // Объект всех переменных запроса, включая строку запроса, форму, тело и т.д.
Подробнее о доступных переменных и функциях.
Для обработки событий в JavaScript-коде недоступны методы:
goToBlock(),
disableContinue(),
setContactByTelegramId(id),
setContactById(id)
Примеры
Отправка содержимого запроса в сообщении в чат с ботом
Для отладки обработки события вы можете отправить содержимого запроса в чат с ботом в сообщении. При отправке сообщения в чат — Telegram может интерпретировать специальные символы (например, подчёркивания, звёздочки) как элементы форматирования. Чтобы отобразить параметры запроса в виде корректного JSON, используйте следующий код:
var formatted = JSON.stringify(response.data, null, 2);
var message = "<pre><code>" + formatted + "</code></pre>";
sendMessage(message);
Событие Сообщение отредактировано
var data = response.data;
sendMessage("Вы отредактировали сообщение. Новое содержимое:" + data.edited_message.text);
В этом коде:
если параметр data.edited_message.text существует, значит произошло событие edited_message. После отправки сообщения будет запущен сценарий, указанный в настройках события
если параметр не существует, то скрипт отработает с ошибкой, выполнение вернется туда, где контакт находился до того, как отредактировал сообщение. Вы также можете вызвать исключение явным образом:
if (!data.edited_message) {
throw new Error("Ожидалось событие редактирования сообщения");
}
Пример ответа при срабатывании этого события (edited_message)
{
"update_id": 123456789,
// Событие: пользователь отредактировал сообщение
"edited_message": {
// Информация о чате, в котором произошло редактирование
"chat": {
"first_name": "First", // Имя пользователя
"id": 111111111, // ID чата (совпадает с ID пользователя в личных чатах)
"last_name": "Last", // Фамилия пользователя
"type": "private", // Тип чата: private, group, supergroup, channel
"username": "exampleuser" // Username
},
"date": 1710000000, // Время отправки исходного сообщения (UNIX-время)
"edit_date": 1710000300, // Время редактирования сообщения (UNIX-время)
// Информация об отправителе
"from": {
"first_name": "First",
"id": 111111111,
"is_bot": false,
"language_code": "en", // Язык интерфейса Telegram у пользователя
"last_name": "Last",
"username": "exampleuser"
},
"message_id": 112, // ID сообщения
"text": "Updated message text" // Обновлённый текст сообщения
}
}
Last updated
Was this helpful?