sousagemonster
@sousagemonster

Как сделать задержку на выполнение команд в телеграм боте на python?

У меня есть обработчик команды, и я хочу сделать так, чтобы пользователь мог использовать команду 1 раз в 1 день, или по истечению 24 часов
@dp.message_handler(text=['Бонус'])
async def start_cmd_handler(message: types.Message):
    name1 = message.from_user.get_mention(as_html=True)
    data = {}
    data["suma"] = 500
    data['user_id'] = message.from_user.id
    balanc = cur.execute("SELECT balance from users where userid = ?", (message.from_user.id,)).fetchone()
    balance = (balanc[0])
    if balance == 0:
        cur.execute("""UPDATE users SET balance = balance + :suma WHERE userid = :user_id;""", data)
        await message.reply(f'{name1}, ты получил(а) бонус в размере 500')
    else:
        await message.reply(f'{name1} бонус могут получит только те игроки, чей баланс равен 0\nТвой баланс {balance}')


Как можно это сделать?
  • Вопрос задан
  • 283 просмотра
Решения вопроса 1
WolfInChains
@WolfInChains
хранить в базе последнее время вызова команды для каждого юзера и при новом вызове сверять прошло ли 24 часа
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы