Требует docker
для запуска
docker compose -f docker-compose.yml --env-file .env up --build
Загружает окружение из .env
файла. Пример содержимого .env
представлен в файле .env-example
├── config.py - парсер енв файла
├── core - сам бот
├── filters - фильтры, используемые при обработке хендлеров
└── role.py - пока он только один, для отличия обычных юзеров и админов. прописывается при регистрации хендлера, например role=UserRole.OWNER
├── handlers - сами хендлеры
├── admin.py - для админов
└── user.py - и обычных пользователей соответсвенно
├── middlewares - мидлвари (промежуточный этап между получением апдейта и передачей его в хендлер
├── db.py - тут прокидываем в каждый хендлер обьект Repo (интерфейс базы данных)
├── role.py - определяем роль
└── user_control.py - мидлваря с полезным функционалом. Пока только автоматическое добавление юзера в бд
├── models
└── role.py - модель ролей пользователей
├── states - стейты
├── Ticket_States.py - файл для состояний связанных с заявлением\пользователем\регистрации
└── utils - всякое разное
├── keyboards.py - например клавиатуры
└── variables.py - и какие то переменные
├── docker-compose.yml
├── Dockerfile
├── main.py - главный файл с кодом для запуска бота
├── README.md - файл инструкция
├── requirements.txt - текстовый файл для требований по библиотекам
└── services - вспомогательные самописные модули
├── db - бд
├── base.py - файлы ниже для подключения и описания моделей
├── create_db.py - создание бд
├── db_pool.py - создание дб_пула
├── models.py - модели таблицы для бд
└── services
└── repository.py - сам интерфейс для взаимодействия с бд. именно там создаются все методы для работы с данными. пример оставил