Как запускать функцию с 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

Буду очень благодарен за помощь :)


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