Ошибка в aiogram - TypeError: Message.answer() missing 1 required positional argument: 'self'.?

Начал изучение планировщика задач:

    from aiogram import Bot, types
    from aiogram.dispatcher import Dispatcher
    from aiogram.utils import executor
    from config import TOKEN
    from aiogram.contrib.fsm_storage.memory import MemoryStorage
    import logging
    from apscheduler.schedulers.asyncio import AsyncIOScheduler
    from datetime import datetime, timedelta
    
    logging.basicConfig(level=logging.INFO)
    bot = Bot(token=TOKEN)
    storage = MemoryStorage()
    dp = Dispatcher(bot = bot, storage=storage)
    
    
    async def send_message_time(message: types.Message):
        await message.answer(text='Это сообщение отправляется через несколько секунд после запуска бота')
    
    
    @dp.message_handler(commands=['start'])
    async def process_start_command(message: types.Message):
        schedule = AsyncIOScheduler(timezone="Europe/Moscow")
        schedule.add_job(send_message_time, trigger='date', run_date=datetime.now() + timedelta(seconds=5), kwargs={'message': types.Message})
        schedule.start()
        await message.answer("Здрасьте!")
    
    if __name__ == '__main__':
        logging.info("Starting bot...")
        executor.start_polling(dp)

Я пытаюсь реализовать запуск задачи при запуске бота "/start", но получаю ошибку:

    TypeError: Message.answer() missing 1 required positional argument: 'self'

Т.е. он просит добавить какой то обязательный аргумент в Message.answer? До этого он говорил добавить аргумент text, хотя я не был уверен, что это обязательно, в других скриптах у меня он не используется, я добавил аргумент text, сейчас просит еще какой то аргумент... Перерыл интернет и все что я нашел, это добавить SELF в аргумент.. но это не помогает.

Полный Traceback:

    Traceback (most recent call last):   File "C:\Program Files\Python311\Lib\site-packages\apscheduler\executors\base_py3.py", line 30, in run_coroutine_job
        retval = await job.func(*job.args, **job.kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Users\*******\Desktop\*******************\********************\*****************\******************\************\tgbot3\bot.py", line 17, in send_message_time
        await message.answer(text='Это сообщение отправляется через несколько секунд после запуска бота')
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: Message.answer() missing 1 required positional argument: 'self'

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

Автор решения: Deniska SosiSka

Вам нужно отправлять в планировщик экземпляр класса, а не сам класс.

В строке

schedule.add_job(send_message_time, trigger='date', run_date=datetime.now() + timedelta(seconds=5), kwargs={'message': types.Message})

замените types.Message на message

→ Ссылка