Собственные проверки перед выполнением команд
Для каждого типа команд можно добавить собственные промежуточные проверки. В случае если проверка будет не пройдена, можно прервать выполнение команды.
Для примера рассмотрим создание промежуточного чекера для команд типа Reply.
// Создаем собственные чекер, который будет использован только для Reply команд
var checkerReplyCommand = new InternalChecker(CommandType.Reply, new ReplyExampleChecker());
// При создание бота добавляем чекер.
var telegram = new PRBotBuilder("Token")
.SetBotId(0)
.AddCommandChecker(checkerReplyCommand)
.Build();
Пример самого чекера. Чекер обязательно должен реализовывать интерфейс IInternalCheck и возвращать результат проверки.
namespace ConsoleExample.Checkers
{
internal class ReplyExampleChecker : IInternalCheck
{
public async Task<InternalCheckResult> Check(PRBotBase bot, Update update, CommandHandler handler)
{
// Что-то проверяем перед выполнением reply команд.
// InternalCheckResult.Passed - продолжить выполнение команды, любые другие результаты остановят выполнение команды.
return InternalCheckResult.Passed;
}
}
}
Пример:
Last updated