• Kак сделать задержку между командами в aiogram?

    @Everything_is_bad
    1. за time.sleep() в asyncio бьют ногами
    2. если тут aiogram, значит рядом есть и redis, создавай в нем ключ с id пользователя с нужным временем жизни, потом пишешь middleware с проверкой на этот ключ, если он есть, то игнорируешь запросы от этого юзера
    Ответ написан
    Комментировать
  • Kак сделать задержку между командами в aiogram?

    GavriKos
    @GavriKos
    За time.sleep надо голову оторвать. Это заблочит всего бота и другие пользователи не смогут его использовать.

    Правильный вариант - не делать таймер, а делать переменную (для каждого пользователя - и хранить как раз в БД), в которой будет время окончания КД. Ввел пользователь команду - проверили достигнуто ли время окончания КД. Не достигнуто - шлем "команда на перезагрузке". Достигнуто - выполняем команду и заново устанавливаем новое время окончания КД (текущее время +время на кд)
    Ответ написан
    Комментировать