Чистая заготовка бота на Aiogram 3.x.
Конфиги и .env лежат в settings/.
-
Создать виртуальное окружение и установить зависимости:
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt
-
Переименовать в папке
settingsфайл.env.exampleв.envи указать токен:cp settings/.env.example settings/.env
-
Запустить бота командой:
python main.py
Хранит конфигурацию проекта и .env с секретными данными.
config.py— загрузка переменных окружения и объектsettings..env— рабочие настройки (токен, база и т.д.)..env.example— пример файла.env.
Основной код бота.
routers.py— собирает все роутеры из пакетаhandlersи подключает их кDispatcher.
Здесь лежат обработчики сообщений.
start.py— команда/start.help.py— команда/help.echo.py— базовый echo-хэндлер (для теста).
Заготовки клавиатур (reply/inline).
common.py— пример «Да/Нет».
Мидлвары (промежуточная логика).
throttling.py— простейший антиспам (ограничение частоты сообщений).
Кастомные фильтры для сообщений и апдейтов.
is_admin.py— фильтр, проверяющий, что сообщение пришло от администратора.
Сервисы, не завязанные на Telegram напрямую.
db.py— подключение к PostgreSQL черезasyncpg(пул соединений).scheduler.py— планировщик задач (APScheduler).
Вспомогательные утилиты.
logging.py— настройка логирования.