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