Перейти к основному содержимому

Обработка обновлений

Модуль Updates является мощным инструментом для обработки и ответа на обновления Telegram-бота. Он позволяет быстро регистрировать обработчики для различных типов обновлений и контекстов, а также производить отправку текстовых сообщений и других действий в ответ на полученные обновления.

Регистрация обработчиков

Для регистрации обработчиков необходимо использовать метод on(), который имеет множество перегрузок на основе различных типов обновлений и соответствующих контекстов. Например, для регистрации обработчика обновления сообщения:

client.updates.on("message", (message) => {
// ваш код обработки обновления сообщения
});

Обработчики добавляются в объект handlers экземпляра Updates. Для каждого типа обновления может быть зарегистрировано несколько обработчиков.

примечание

В примере client - экземпляр класса Evogram.

Объекты контекста

Контекст - это объект, содержащий информацию о полученном обновлении и его отправителе. В зависимости от типа обновления используется соответствующий контекст. Контекст - это инстанс класса, подклассом которого является контекст для конкретного типа обновления.

Например, для обработки обновления сообщения необходимо использовать MessageContext. В нём содержится информация о тексте сообщения, отправителе и получателе, а также методы для ответа на сообщение.

client.updates.on('message', (message) => {
message.reply('Привет, я бот!');
});

Запуск обработки обновлений

Для того, чтобы запустить процесс обработки обновлений необходимо вызвать метод start() у объекта-транспорта (Polling или Webhook). Метод polling.start() позволяет запустить процесс регулярного опроса серверов Telegram-бота через API, а метод webhook.start() - установку Webhook'а.

client.updates.polling.start();
примечание

Обратите внимание, что метод start() должен быть вызван после регистрации всех обработчиков обновлений.

Пример использования

import { Evogram } from 'evogram';
const client = new Evogram("YOUR_BOT_TOKEN");

client.updates.on("message", (message) => {
message.reply("Привет!")
})

client.updates.polling.start();

Выше приведен пример кода, который позволит вашему Telegram-боту отвечать на все полученные сообщения текстом Привет!.