@liss48

Как работает этот код?

Данный код дает возможность выполнить команду определенному пользователю только раз в 10 секунд. Я не очень понимаю как именно это работает. И как можно получить время которое осталось до следующей возможности выполнения команды?

context = {}

last_command_use_time = context.get(user[0].id)

if not last_command_use_time or (datetime.datetime.now() - last_command_use_time).seconds > 10:

    # команда

    context[user[0].id] = datetime.datetime.now()

else:
    # сообщение о том что нужно подождать
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
context = {}

last_command_use_time = context.get(user[0].id) # Возвращает время последней команды пользователя или None, если нет значения

if not last_command_use_time or (datetime.datetime.now() - last_command_use_time).seconds > 10: # проверяет, что last_command_use_time  - None (т.е. данных о юзере нет) или с момента обращения прошло больше 10 секунд

    # команда

    context[user[0].id] = datetime.datetime.now() # Записывает текущее время использования команды

else:
    # сообщение о том что нужно подождать

И как можно получить время которое осталось до следующей возможности выполнения команды?

Намекну - в строке с if есть почти готовый кусок, который нужно чуть изменить.
И да, судя по тому, что вы не можете прочесть элементарный код - отложите болошлепство и почитайте учебник.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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