Данный код разрешает выполнять определенную команду раз в 3 минуты, он работает:
last_command_use_time = dict_time.get(user[0].id)
if not last_command_use_time or (datetime.datetime.now() - last_command_use_time).seconds > 180:
# выполнение команды
dict_time[user[0].id] = datetime.datetime.now()
else:
# сообщение о том что 3 минуты не прошло
Но когда я повышаю время до 24 часов, в первый раз код дает выполнить команду а дальше при окончании таймера он сам сбрасывается и начинается снова, и я не могу использовать команду, код:
last_command_use_time = dict_time.get(user[0].id)
if not last_command_use_time or (datetime.datetime.now() - last_command_use_time).days > 1:
# выполнение команды
dict_time[user[0].id] = datetime.datetime.now()
else:
# сообщение о том что 24 часа не прошло
Я пробовал считать секундами то есть 86400 секунд, история та же. Параметры minute, hour и day он не хочет принимать. Пробовал поставить 23 часа - тоже самое. Если ставить один час секундами то все работает.