Как сделать бесконечный цикл для бота телеграмм?

Написал простенького бота с помощью TeleBot на Python, который должен отслеживать некоторые события в файловой системе и реагировать на них отправкой сообщений.

Все работает если это, одиночный случай. Но я хочу чтобы моя функция checking_even, вызывалась бесконечно. Она ожидает определенного файла, и если он появляется отправляет сообщение в бот.

Пробовал так, но это не работает. Бот обрабатывает первое событие, а потом ничего не шлет.

def main():
    dir_main = '/home/user1/buh_set'
    dir_list = ['event', 'agent']
    hello()

    while True:
        checking_event(dir_main, dir_list)
        bot.polling(none_stop=True, interval=0)

if __name__ == '__main__':
    main()

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

Автор решения: anonimchik

Используйте библиотеки threading и schedule:

def starter():
    schedule.every().minute().do(checking_even)
    while True:
        schedule.run_pending()

if __name__ == '__main__':
t2 = threading.Thread(target=starter)
t2.start()
bot.polling(none_stop=True)

В данном случае функция checking_even будет запускаться каждую минуту.

→ Ссылка