Как сделать проверку на запущенный таймер? pytelegrambotapi

Создаю бота-игру для телеграма. Суть вопроса в том, что когда я нажимаю на кнопку (пример ниже), у меня запускается таймер (человек отправился на задание). После того как таймер заканчивается, я получаю результат. Но если нажимать кнопку два или более раза, то таймер будет создаваться и запускаться снова. У меня есть следующий код:

elif message.text == '?Хулиганы':
    bot.send_message(message.chat.id, 'Разборки начались, возвращайся через 5 секунд!')
    local_time = float(5)
    time.sleep(local_time)
    <..результат..>

Я подумал, что перед запуском таймера, нужно делать проверку, если таймер запущен, то выдавать bot.send_message(message.chat.id, 'Вы уже отправились на задание, дождитесь окончания'). В противном случае выполнять код который представлен выше.

Правда здесь вытекает второй вопрос: как запускать ту же проверку уже из другой кнопки, потому что при нажатии на нее там создается свой индивидуальный таймер?


Ответы (1 шт):

Автор решения: Andrei Gurko

Попробуйте создать класс Timer с нужным поведением вашего таймера. В этом классе создайте булевое поле, которе будет устанавливаться в True, когда таймер запущен. И делайте проверку по этому полю

→ Ссылка