Че за бот Как играть: Нажмите "Создать игру" или "Присоединиться" При создании игры вы получите пароль комнаты Второй игрок вводит пароль для присоединения Каждый игрок делает 5 ставок на разные числа После готовности обоих игроков выпадает 5 случайных чисел Побеждает игрок с наибольшим количеством совпадений Функционал бота Создание игровых комнат Система ставок на числа Мультиплеер (2 игрока) Автоматический подсчет баланса Инлайн кнопки для удобной навигации Админ-панель для мониторинга игр Вывод результатов игры в канал Менюшки и скрины из игры Инфа из канала Настройки Скачать https://github.com/qiyanaitsme/QIYANASLuckyTEST Установка такая же, как и в других моих проектах. Разберетесь. Оберег от лудоманов Можете хоть вместо кубика в этом лудоманить. Шансов побольше победить. Только не давайте корешам игроков это настраивать. Используйте независимое лицо. Я все сказал. Удачи в играх.
1. Было бы удобнее сделать что бы классы для работы с определенными базами данных наследовались от одного определенного кора где будет происходить выполнение запросов и т.д Например class UsersDatabase(Core): def __init__(self): super().__init__("database") class Core: def __init__(self, db_filename: str): self.__connection = connect(f"assets/{db_filename}.db", check_same_thread=False) self.__cursor = self.__connection.cursor() def execute_query(self, *args) -> list[Any] | None: """ :return: fetchall (in any case..) """ self.__cursor.execute(*args) self.__connection.commit() return self.__cursor.fetchall() Code class UsersDatabase(Core): def __init__(self): super().__init__("database") class Core: def __init__(self, db_filename: str): self.__connection = connect(f"assets/{db_filename}.db", check_same_thread=False) self.__cursor = self.__connection.cursor() def execute_query(self, *args) -> list[Any] | None: """ :return: fetchall (in any case..) """ self.__cursor.execute(*args) self.__connection.commit() return self.__cursor.fetchall() можно многое в моем примере изменить и сделать лучше но закончим на этом. 2. что это забыло в хендлере?? нахуя, сделай директорию в которой будут модули с inline клавой и reply например, и оттуда вытаскивай их. 3. есть middleware для этого. 4. По докам aiogram'a надо юзать роутеры 5. функции которые могут обойтись без нахождения в модуле хендлера лучше вынести в какой нибудь utils/bot (утилки для бота). Сугубо мое мнение выразил, за использование aiosqlite