Игровой Telegram бот: слоты, кубик, ставки, профили и статистика
Основная функциональность:
- Система регистрации пользователя с проверкой возраста (18+).
- Игровые механики на базе Telegram Dice API (слоты, кубик, футбол, баскетбол, дартс, боулинг, орел/решка).
- Система ставок и внутреннего баланса пользователя.
- Профиль пользователя с отображением статистики (сыграные игры, победы, самый большой выигрыш, общий выигрыш, рейтинг).
- Таблица лидеров по показателям выигрышей.
- Админ-панель с возможностью начисления баланса пользователям по ID.
- Полноценная работа с базой данных (создание, обновление записей, сохранение статистики).
Технологии и инструменты:
- Python 3.10+
- Aiogram 3.x (асинхронный фреймворк для Telegram ботов)
- FSM (Конечный автомат) для обработки игровых сценариев
- SQLite (локальная база данных)
- SQLAlchemy (ORM для работы с БД)
- dotenv для управления конфигурацией и токенами
Архитектура:
- Модульная структура: отдельные хендлеры для разделов бота (старт, игры, профиль, админ).
- Разделение логики по модулям (config, db, models, handlers).
- Использование асинхронного подхода и контекстных менеджеров для работы с сессиями БД.
- Система регистрации пользователя с проверкой возраста (18+).
- Игровые механики на базе Telegram Dice API (слоты, кубик, футбол, баскетбол, дартс, боулинг, орел/решка).
- Система ставок и внутреннего баланса пользователя.
- Профиль пользователя с отображением статистики (сыграные игры, победы, самый большой выигрыш, общий выигрыш, рейтинг).
- Таблица лидеров по показателям выигрышей.
- Админ-панель с возможностью начисления баланса пользователям по ID.
- Полноценная работа с базой данных (создание, обновление записей, сохранение статистики).
Технологии и инструменты:
- Python 3.10+
- Aiogram 3.x (асинхронный фреймворк для Telegram ботов)
- FSM (Конечный автомат) для обработки игровых сценариев
- SQLite (локальная база данных)
- SQLAlchemy (ORM для работы с БД)
- dotenv для управления конфигурацией и токенами
Архитектура:
- Модульная структура: отдельные хендлеры для разделов бота (старт, игры, профиль, админ).
- Разделение логики по модулям (config, db, models, handlers).
- Использование асинхронного подхода и контекстных менеджеров для работы с сессиями БД.