Примечание: Данная архитектура разработана для ботов на aiogram 3.X.X.
Архитектура V3.1 представляет собой эффективное решение для разработки средних и крупных Telegram ботов, использующих библиотеку aiogram.
├───bot
│ ├───admin
│ │ ├───handlers
│ │ │ ├───callbacks
│ │ │ └───commands
│ │ └───messages
│ └───user
│ ├───handlers
│ │ ├───callbacks
│ │ ├───commands
│ │ └───messages
│ └───router
├───config
│ └───development
│ └───production
├───database
│ └───development
│ └───production
├───logs
├───tests
└───utils
Пакет bot
содержит основные компоненты бота, разделенные на модули для администратора и пользователя.
-
admin
: Модуль, содержащий обработчики для администраторских функций.handlers
: Модуль обработчиков для административных запросов.callbacks
: Обработчики callback-запросов.commands
: Обработчики команд администратора.
messages
: Модуль для работы с сообщениями администратора.
-
user
: Модуль, содержащий обработчики для пользовательских функций.handlers
: Модуль обработчиков для пользовательских запросов.callbacks
: Обработчики callback-запросов пользователей.commands
: Обработчики команд пользователей.messages
: Модуль для работы с сообщениями пользователей.
router
: Маршрутизатор запросов пользователей.
Пакет config
содержит файлы конфигурации для разных окружений.
development
: Конфигурационные файлы для разработки.production
: Конфигурационные файлы для продакшн-среды.
Пакет database
содержит модули для работы с базой данных.
development
: Файлы базы данных для разработки.production
: Файлы базы данных для продакшн-среды.
Директория logs
предназначена для хранения логов приложения.
Директория tests
содержит модули и тесты для проверки функциональности проекта.
Эта архитектура позволяет удобно структурировать и разрабатывать Telegram ботов на платформе aiogram, обеспечивая чистоту и организованность кода.