Не работает aioscheduler, aiogram 3. Как сделать что бы работал?

import logging
import sys
import time
import aioschedule
import asyncio

from datetime import datetime

from aiogram import Bot, Dispatcher,types, html
from aiogram.client.default import DefaultBotProperties
from aiogram.enums import ParseMode
from aiogram.filters import CommandStart
from aiogram.types import Message


TOKEN = ""
bot = Bot(token=TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
parse=True
spisok =[1,2,3,4,5,6,7,8,9,0,10,11,12,13,14,15]
n=int()
prevweekday = int()
skipper = True

dp = Dispatcher()


async def weekday():
    now = datetime.now()
    current_weekday = now.weekday()
    return current_weekday



@dp.message(CommandStart())
async def dejur(message: Message):
    print(1)
    global n,skipper
    if weekday():
        await bot.send_message(chat_id=1108995102, text=f"Дежурные: {spisok[n]}")
        if skipper == True:
            if n!=14:
                n = n+1
            else:
                n=0
            return n
        else:
            skipper = True
            return skipper
        

        
    
async def scheduler():
    #aioschedule.every().day.at("12:00").do(dejur)
    aioschedule.every().minute.do(dejur)
    while True:
        await aioschedule.run_pending()
        await asyncio.sleep(1)
        
        
async def on_startup(_):
    asyncio.create_task(scheduler())
    
async def main():
    logging.basicConfig(level=logging.INFO)
    bot = Bot(token=TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
    await dp.start_polling(bot)


if __name__ == "__main__":
    asyncio.run(main())```

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

Автор решения: Илья

Функция dejur обёрнута в декоратор, и на вход принимает сообщение. aioschedule.every().minute.do(dejur) Не делал отложенные сообщения таким способом. Но, возможно, дело в том, что сама по себе dejur отрабатывает после декоратора при попадании в него сообщения

→ Ссылка