• Пытаюсь сделать бота (на python), который поздравляет с днем рождением. Что неправильно делаю, как исправить (не программист)?

    @pvke Автор вопроса
    pvke, здесь разобрался в kwargs было
    scheduler.add_job(test_123, trigger="interval", seconds=5, kwargs={'bot': Bot})

    изменил на
    scheduler.add_job(test_123, trigger="interval", seconds=5, kwargs={'bot': bot})


    Может быть я неправильно kwargs записываю у себя, что он ругается?
    scheduler.add_job(bd_scheduler, trigger='interval', seconds=5,
                          kwargs={"message": types.Message, 'session': AsyncSession})
    Написано
  • Пытаюсь сделать бота (на python), который поздравляет с днем рождением. Что неправильно делаю, как исправить (не программист)?

    @pvke Автор вопроса
    Сейчас попытался сделать тестовую функцию и передать ее шедулеру, тоже ошибку пишет

    Job "test_123 (trigger: interval[0:00:05], next run at: 2024-04-11 14:21:37 MSK)" raised an exception
    Traceback (most recent call last):
    File "C:\Education\BDnotification\venv\Lib\site-packages\apscheduler\executors\base_py3.py", line 30, in run_coroutine_job
    retval = await job.func(*job.args, **job.kwargs)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Education\BDnotification\handlers\admin_private.py", line 59, in test_123
    await message.answer("test")
    ^^^^^^^^^^^^^^^^^^^^^^
    TypeError: Message.answer() missing 1 required positional argument: 'text'

    async def test_123(message: types.Message):
        await message.answer("test")


    scheduler = AsyncIOScheduler(timezone="Europe/Moscow")
        scheduler.add_job(test_123, trigger='interval', seconds=5,
                          kwargs={"message": types.Message})


    Импортировал эту функцию
    from handlers.admin_private import admin_router, bd_scheduler, test_123
    Написано
  • Пытаюсь сделать бота (на python), который поздравляет с днем рождением. Что неправильно делаю, как исправить (не программист)?

    @pvke Автор вопроса
    Попробовал сделать так, не получилось или не разобрался(

    У меня установлены все библиотеки
    from aiogram.dispatcher import Dispatcher
    Когда импортирую диспетчер, он начинает ругаться, изначально у меня было так
    from aiogram import Bot, types, Dispatcher

    здесь убрал скобки
    today = datetime.date.today().strftime('%d-%m')
    вместо этого from sqlalchemy.future import select у меня from sqlalchemy import delete, select

    Диспетчер и шедулер загнал в main
    async def main():
        dp = Dispatcher()
        dp.include_router(user_private_router)
        dp.include_router(user_group_router)
        dp.include_router(admin_router)
        dp.startup.register(on_startup)
        dp.shutdown.register(on_shutdown)
        scheduler = AsyncIOScheduler(timezone="Europe/Moscow")
        scheduler.add_job(bd_scheduler, trigger='interval', seconds=5,
                          kwargs={"message": types.Message, 'session': AsyncSession})
        # scheduler.add_job(bd_sheduler, trigger='cron', hour=12, minute=52, start_date=datetime.datetime.now(),
        #                   kwargs={'message': types.Message, 'session': AsyncSession})
        scheduler.start()
        dp.update.middleware(DataBaseSession(session_pool=session_maker))
        await bot.delete_webhook(drop_pending_updates=True)
        # await bot.delete_my_commands(scope=types.BotCommandScopeAllPrivateChats())
        # await bot.set_my_commands(commands=private, scope=types.BotCommandScopeAllPrivateChats())
        await dp.start_polling(bot, allowed_updates=dp.resolve_used_update_types())
    Написано