Потоки и их выполнение в телеграмм боте python

Рейтинг: 0Ответов: 1Опубликовано: 22.05.2023

Я пишу бота для телеги который будет регистрировать пользователя и отправлять ему открытку на день рождения. Суть в том, что рекомендации которые я нашел содержат функцию:

def everyday():
    schedule.every().day.at("10:21").do(check_birthday)
    while True:
        schedule.run_pending()
        time.sleep(60)

и она выполняет свою работу но кроме нее не выполняется регистрация. Т.Е. если я запущу бота, он поздравит меня во время но до тех пор никто не может пройти регистрацию и воспользоваться другими кнопками, они просто не выводят свой функционал. Думал создать поток в котором функция будет работать обособлено но я новичок и скорее всего сделал это неправильно, хотя работа выполняется но все так же остальные кнопки не работают:

Potok1 = threading.Thread(target= everyday)
Potok1.start()

Подскажите пожалуйста что я мог упустить, заранее спасибо! p.s. Еще я думал сделать несколько потоков для остальных функций но ничего не поменялось, выглядит это так:

Potok1 = threading.Thread(target= everyday)
Potok1.start()

Potok2 = threading.Thread(target = start(message))
Potok2.start()

Potok3 = threading.Thread(target= check_text(message))
Potok3.start()

Ответы

▲ 0
# настройки бота. основной поток

def sch_every(time):
    schedule.every().day.at(time).do(check_birthday)

# доп. поток
def everyday():
    while True:
        schedule.run_pending()
        time.sleep(60)

threading.Thread(target= everyday).start()
# запуск бота