Как НЕ запускать новый таймер, если уже запущен

подскажите пожалуйста, не получается разобраться. Создаю телеграм-бота. При нажатии на кнопку должен запускаться таймер. При повторном нажатии - если таймер уже запущен, пользователь должен быть уведомлен об этом. В противном случае логично - должен начинаться новый таймер. В коде ниже у меня не получается выполнять проверку, таймер всегда запускается повторно при нажатии на кнопку(кнопка в примере ниже: "Герой". Вероятно я логически не правильно мыслю и создавать такие таймеры/потоки нужно по другому.

@bot.message_handler(content_types=['text'])
def buttons(message):
    if message.chat.type == 'private':
        if message.text == '?‍♂️Герой':

            def hello():
                print ('hello')

            t = threading.Timer(4, hello)

            if t.is_alive():
                print('wait to end')
            else: 
                t.start()
                print('timer is up')

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

Автор решения: RAINGM
@bot.message_handler(content_types=['text'])
def buttons(message):
    timer_exists = False
    if message.chat.type == 'private':
        if message.text == '?‍♂️Герой':

            def hello():
                print ('hello')

            if not timer_exists:
                t = threading.Timer(4, hello)
                timer_exists = True

            if t.is_alive():
                print('wait to end')
            else: 
                t.start()
                print('timer is up')
→ Ссылка