Handler
Хендлеры это конечная точка в обработке событий. Хендлеры могут быть блокирующими (если нашелся подходящий хендлер другие уже не проверяются и не выполняются) и не блокирующими (в таком случае количество выполняемых хендлеров не ограничено и зависит от того какие пройдут). По умолчанию все хендлеры являются блокирующими
Хендлеры помечаются (лейблируются) с помощью декораторов. За это отвечает Labeler high-level инстанс с которым вы работаете. Пример с ботом:
Хендлеры ботов
message
Этот хендлер показан в примере выше
Хендлер на все сообщения (и из чата, и из личных сообщений)
chat_message
Хендлер на сообщения из чатов
private_message
Хендлер на сообщения из личных диалогов
Примечание
Типы хендлеров выше не делают ничего необычного, просто оперируют предустановленным правилом PeerRule:
- в
messageон не предустанавливается - в
chat_message-PeerRule(True) - в
private_message-PeerRule(False)
В качестве аргументов декоратор принимает инстансы правил (ABCRule), а в качестве kwargs он принимает значение из custom_rules (подробнее в туториале
Примечание
Если правило вернуло словарь, то он будет распакован и передан в качестве аргументов в хендлер, если он принимает их: