Skip to content

Обзор Архитектуры

Архитектура 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: Конфигурация и точка входа в фичу.

🔄 Поток обработки запроса

  1. Telegram отправляет событие (Message/Callback).
  2. Middlewares подготавливают контекст и создают объект Director.
  3. Director находит нужный Orchestrator и передает ему управление.
  4. Orchestrator выполняет логику и возвращает UnifiedViewDTO.
  5. ViewSender доставляет результат пользователю, обновляя существующие сообщения.

🧭 Что изучить дальше?