Обзор¶
В этом разделе подробно описано, как maxo обрабатывает входящие события, маршрутизирует их и позволяет вам гибко управлять логикой бота. Архитектура построена на цепочке ответственности: от получения события (Update) до его обработки в конкретной функции (Handler).
Основные компоненты¶
Диспетчер и роутеры - организация структуры бота с помощью роутеров и диспетчера. Узнайте, как масштабировать приложение и разделять логику.
Фильтры - инструменты для фильтрации событий. Как использовать встроенные фильтры, писать свои и комбинировать их с помощью логических операторов.
Мидлвари - механизм перехвата событий. Различие между внешними (Outer) и внутренними (Inner) мидлварями и как они влияют на поток выполнения.
Обработчики и аргументы - всё о функциях-обработчиках: аргументы, контекст выполнения (Ctx) и внедрение зависимостей.
Состояния (FSM) - состояния (FSM). Как сохранять состояние диалога и данные между сообщениями.
Фасады - объекты для упрощения взаимодействия с API и ответов на события.
Обработка ошибок - перехват исключений и обработка ошибок, возникающих в процессе работы бота.
Сигналы - сигналы жизненного цикла (startup, shutdown) для инициализации и освобождения ресурсов.
Long Polling - механизм получения обновлений через Long Polling.
Webhooks - механизм получения обновлений через Webhook.
Инъекция бота в типы (BotMixin) - инъекция экземпляра бота в датаклассы
MaxoTypeчерезBotMixinи реторту.