Как сделать отправку сообщения раз в час, не останавливая polling? Py TeleBot
Я пишу небольшого бота, который парсит сообщения из групп, отбирает нужные по ключевым словам и отсылает их в личку. Проблема в том, что нужно отсылать сообщение раз в час, помимо этого бот должен в это время продолжать принимать сообщения, то есть висеть в polling`е. Вот код файла main, который есть на данный момент:
from telethon.sync import TelegramClient
import schedule
from threading import Thread
import time
from filter import filter_messages
from config import api_id, api_hash, username
from pars import get_messages
from bot import bot, send_new_requests
def main(client):
messages = get_messages(client)
requests = filter_messages(client, messages)
send_new_requests(requests)
def schedule_checker():
while True:
schedule.run_pending()
time.sleep(1)
if __name__ == '__main__':
client = TelegramClient(username, api_id, api_hash)
client.start()
schedule.every(1).hours.do(main, client=client)
Thread(target=schedule_checker).start()
bot.polling()
По логике, бот должен выслать сообщение, затем уйти в поллинг, а через час снова выслать сообщение. В этой конструкции вылезает ошибка: RuntimeError: There is no current event loop in thread 'Thread-1 (schedule_checker)'. Я перепробовал все что мог, но все равно не получается.