Как сделать бесконечный цикл для бота телеграмм?
Написал простенького бота с помощью 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 будет запускаться каждую минуту.