Обзор Архитектуры
Архитектура codex-bot построена на принципах слабой связности и высокой модульности. Мы разделяем систему на три основных уровня: Engine (Движок), Services (Сервисы) и Features (Бизнес-фичи).
🏗 Три уровня системы
1. Движок (Engine)
Фундамент фреймворка. Он отвечает за жизненный цикл бота, автоматическую сборку и инфраструктуру.
- Discovery: Автоматический поиск и регистрация фич.
- BotBuilder: Сборщик объектов Bot и Dispatcher.
- Container: DI-контейнер для хранения всех системных объектов.
2. Ключевые сервисы (Services)
Набор инструментов, которые вы используете для реализации логики бота.
- Director: Сервис-координатор, который управляет переходами между фичами.
- ViewSender: Отвечает за отправку и синхронизацию UI сообщений.
- Base Orchestrator: Базовый класс для реализации бизнес-логики.
- FSM & States: Система управления состояниями с изоляцией данных.
3. Бизнес-фичи (Features)
Ваш прикладной код. Каждая фича — это папка, содержащая:
- handlers/: Обработчики событий Telegram.
- logic/: Оркестратор и стейт-менеджеры.
- ui/: Описание интерфейса (тексты и кнопки).
- feature_setting.py: Конфигурация и точка входа в фичу.
🔄 Поток обработки запроса
- Telegram отправляет событие (Message/Callback).
- Middlewares подготавливают контекст и создают объект Director.
- Director находит нужный Orchestrator и передает ему управление.
- Orchestrator выполняет логику и возвращает
UnifiedViewDTO. - ViewSender доставляет результат пользователю, обновляя существующие сообщения.
🧭 Что изучить дальше?
- Посмотрите, как работает Умная навигация через Директора.
- Узнайте про Изоляцию FSM для предотвращения конфликтов данных.