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