Обработка до и после update
OnPreUpdate - событие до всех update
Бывают ситуации, когда перед обработкой сообщений или любого другого типа update что-то нужно сделать. Допустим проверить зарегистрирован пользователь или нет, если не зарегистрирован отправить на регистрации и при этом завершить обработку текущего update. Для этого можно воспользоваться событием OnPreUpdate, в данном событие можно выполнить свою обработку и в случае надобности прервать последующую обработку.
Пример:
// Создание бота
var telegram = new PRBotBuilder("Token").SetBotId(0).Build();
// Подписка на событие.
telegram.Events.UpdateEvents.OnPreUpdate += Handler_OnUpdate;
// Метод обработки события.
async Task<UpdateResult> Handler_OnUpdate(BotEventArgs e)
{
/*
Для примера можно рассмотреть зарегистрирован ли пользователь или нет.
Если зарегистрирован
return UpdateResult.Continue; - данный результат позволит продолжить обработку.
Если не зарегистрирован то вызвать метод регистрации
RegisterMethod();
return UpdateResult.Stop или return UpdateResult.Handled - позволит прервать текущую обработку и отправить пользователя на регистрацию
*/
return UpdateResult.Continue;
}
OnPostUpdate - событие после всех update
Бывают ситуации, когда нужно что-то сделать после любого действия пользователя в боте. Один из пример это регистрация даты и времени его последней активности. Для этого можно воспользоваться событие OnPostUpdate. После всех обновлений выполнить некую обработку.
// Создание бота
var telegram = new PRBotBuilder("Token").SetBotId(0).Build();
// Подписка на событие.
telegram.Events.UpdateEvents.OnPostUpdate += Handler_OnPostUpdate;
// Метод обработки события.
async Task Handler_OnPostUpdate(BotEventArgs e)
{
// Пример. Регистрация последней активности пользователя в боте. Допустим дата и время
}
Last updated