@duduychvbk99

Как сделать интервал на команду телеграм бота?

Пользователь выполняет какую-то команду. Если не прошло 5 секунд с прошлого запроса бот пишет: подождите столько-то секунд до выполнения следующей команды. Использую telebot
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 2
@RINAMI
Занимаюсь монтажом и дизайном. PSD,AEX,VEG.
Добрый день, чтобы ограничивать определенные команды, нужен модуль threading, самый простой способ:
import threading
def test()
     #options
def thread2():  # Поток 2
    thr2 = Thread(target=test)
    thr2.start()

Пример на vk_api:
mes = event.object.message['text']
if mes == 'ваша_команда':
  try:
   test()  #Пользователь один раз использует команду
   time.sleep(5) #Лимит на 5 секунд
  except:
        pass

P.S в конце кода добавьте:
if __name__ == '__main__':
    thread2()

Итог: способ простой и эффективный, пользователь пишет команду один раз, далее ограничение и можно опять использовать.
Ответ написан
Лучшее решение - записывать время последнего использования команды. Вот тут я отвечал как сделать интервал на 1 час. В твоем случае .hour нужно поменять на .second и 1 на 5.
Ответ написан
Ваш ответ на вопрос

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

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