aiogram декоратор не принимает commands

Рейтинг: 1Ответов: 1Опубликовано: 15.02.2023

При запуске бота он падает с ошибкой

File "C:\docs\ERBot\handlers\root_handler.py", line 8, in <module>
    @router.message(commands=["start"])
    TypeError: TelegramEventObserver.__call__() got an unexpected keyword argument 'commands'

Точка входа:

import asyncio
import logging
from aiogram import Bot, Dispatcher
from config_reader import config
from handlers import root_handler


async def main():
    logging.basicConfig(level=logging.INFO)
    bot = Bot(token=config.bot_token.get_secret_value())
    dp = Dispatcher()
    dp.include_router(root_handler.router)

    await bot.delete_webhook(drop_pending_updates=True)
    await dp.start_polling(bot)


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

Падение происходит тут

from aiogram import Router
from aiogram.types import Message

router = Router()


@router.message(commands=["start"])
async def cmd_start(msg: Message):
   await msg.answer("Some Text")

Ответы

▲ 1Принят

необходимо было изменить декоратор на

@router.message(Command(commands=["start"]))