Шаблон проекта для создания Telegram бота с использованием архитектуры чистого кода (Clean Architecture), SQLAlchemy для работы с базой данных и Alembic для миграций.
tgbot_template_v3
├── src
│ └── app
│ ├── application # Бизнес-логика приложения
│ │ ├── gateway # Интерфейсы для работы с внешними сервисами
│ │ └── usecases # Сценарии использования
│ ├── bootstrap # Инициализация приложения
│ ├── domain # Доменная модель
│ ├── infrastructure # Внешние сервисы и инфраструктура
│ └── presentation # Слой представления
├── .env # Переменные окружения
├── .env.dist # Шаблон переменных окружения
├── alembic.ini # Конфигурация Alembic
- Python 3.11.5
- virtualenv
- Клонируйте репозиторий:
git clone <url_репозитория>
cd tgbot_template_v3- Создайте и активируйте виртуальное окружение:
python -m venv .venv
# Для Windows
.venv\Scripts\activate
# Для Linux/MacOS
source .venv/bin/activate- Установите зависимости:
pip install .- Создайте файл с переменными окружения:
cp .env.dist .env- Отредактируйте файл
.env, заполнив все необходимые поля.
- Создайте начальную миграцию:
alembic revision --autogenerate- Примените миграции:
alembic upgrade headmake run.botПри внесении изменений в модели данных не забывайте создавать и применять миграции:
alembic revision --autogenerate -m "описание изменений"
alembic upgrade head