Как запускать функцию с aioschedule
У меня имеется телеграм клиент, реализованный с помощью библиотеки telethon, мне нужно запускать определенную функцию два раза в день (в ней мой клиент пишет сообщение адресату, дальше с помощью обработчика сообщений я обрабатываю всю информацию) Для запуска планирую использовать aioschedule Версия Python: 3.11.9
import aioschedule as schedule
import asyncio
import config
import time
from telethon import TelegramClient, events, sync
from datetime import datetime
# Подготовка постов
async def preparation_posts():
print("Подготовка запросов пошла")
for auto in autos:
for i in range(1, len(auto)):
await ask_topic(auto[0], auto[i])
# Запрос темы для поста
async def ask_topic(nameAuto, model):
...
# Запрос информации для поста
async def ask_info(nameAuto, model):
...
# Отправка готового поста
async def send_post(nameAuto, model):
...
# Обработчик сообщений от @chatsgpts_bot
@client.on(events.NewMessage(chats=('@chatsgpts_bot')))
async def chatGPT_messages_handler(msg):
...
if __name__ == "__main__":
schedule.every().day.at("13:34").do(preparation_posts())
schedule.every().day.at("14:34").do(preparation_posts())
loop = asyncio.get_event_loop()
while True:
loop.run_until_complete(schedule.run_pending())
time.sleep(0.1)
client.run_until_disconnected()
Но при запуске программы лезет ошибка, связанная с тем, что я вызываю асинхронную функцию вне какой-либо функции, нужно как-то исправить) Проблема еще в том, что у меня параллельно работает клиент нужно запускать и функции и чтобы бот работал)
Текст ошибки:
Traceback (most recent call last):
File "/Users/gutark/Documents/Проекты/telegram боты/GPT генератор/main.py", line 114, in <module>
schedule.every().day.at("13:34").do(preparation_posts())
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/aioschedule/__init__.py", line 436, in do
self.job_func = functools.partial(job_func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: the first argument must be callable
sys:1: RuntimeWarning: coroutine 'preparation_posts' was never awaited
gutark@MacBook-Air-Stepan GPT генератор % python3 main.py
File "/Users/gutark/Documents/Проекты/telegram боты/GPT генератор/main.py", line 119
await loop.run_until_complete(schedule.run_pending())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: 'await' outside function
Буду очень благодарен за помощь :)