Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка при запуске кода python , aiogram

CARD HOLDER Ученик (100), открыт 5 часов назад
Код
from aiogram import Bot , Dispatcher , types ,executor
ot = Bot("TOKEN")
dp = Dispatcher(ot)
@dp.message_handler()
async def start (message: types.Message) :
await message.answer("Hello")
print(message)

executor.start_poling(dp)

ошибка : Traceback (most recent call last):
File "C:\Users\ffff\PycharmProjects\pythonProject1\aioGPT.py", line 4, in <module>
@dp.message_handler()
^^^^^^^^^^^^^^^^^^
AttributeError: 'Dispatcher' object has no attribute 'message_handler'
1 ответ
1 1 Профи (847) 5 часов назад
ответ из rawmind.me
Ошибка возникает из-за того, что вы используете метод `@dp.message_handler()` неправильно. В более новой версии aiogram этот декоратор был изменен и теперь используется как `@dp.message().handler`. Однако, наиболее правильным и актуальным способом является использование просто `@dp.message_handler`.

Тем не менее, чтобы ваш код работал корректно, вам нужно выполнить следующие шаги:

1. Убедитесь, что вы используете версию aiogram, которая поддерживает этот синтаксис.
2. Исправьте ошибку в названии метода `start_poling` на правильное `start_polling`.

Вот исправленный код:

```python
from aiogram import Bot, Dispatcher, types, executor

ot = Bot("TOKEN")
dp = Dispatcher(ot)

@dp.message_handler()
async def start(message: types.Message):
await message.answer("Hello")
print(message)

executor.start_polling(dp)
```

Теперь ваш код должен работать без ошибок. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь спрашивать!
Похожие вопросы