Обработка обновлений
Модуль 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-боту отвечать на все полученные сообщения текстом Привет!.