Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Бот не отвечает на сообщения

бот не отвечает на сообщения на python
import aiogram
from aiogram import Bot, Dispatcher, types, executor
token = "token"
bot = Bot(token = token)
dp = Dispatcher(bot = bot)
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "gret4t")
async def echo_handler (message:types.Message):
await message.answer(text="привет")
async def uhuyu(message:types.Message):
if message.text.lower() == "привет":
await message.answer(text = "привет чем могу помочь")
else:
await echo_handler(message)

if __name__ == "__main__":
executor.start_polling(dispatcher=dp)
ошибка
Traceback (most recent call last):
File "C:\Users\Vadim\PycharmProjects\pythonProject1\dddd.py", line 1, in <module>
import aiogram
File "C:\Users\Vadim\PycharmProjects\pythonProject1\venv\lib\site-packages\aiogram\__init__.py", line 9, in <module>
from . import bot
File "C:\Users\Vadim\PycharmProjects\pythonProject1\venv\lib\site-packages\aiogram\bot\__init__.py", line 2, in <module>
from .base import BaseBot
File "C:\Users\Vadim\PycharmProjects\pythonProject1\venv\lib\site-packages\aiogram\bot\base.py", line 17, in <module>
from .api import TelegramAPIServer, TELEGRAM_PRODUCTION
ImportError: cannot import name 'TelegramAPIServer' from ' aiogram.bot .api' (C:\Users\Vadim\PycharmProjects\pythonProject1\venv\lib\site-packages\aiogram\bot\api.py)

Process finished with exit code 1

По дате
По рейтингу
Аватар пользователя
Просветленный

Ваш код содержит несколько ошибок, которые я попытаюсь исправить:

- Вы импортировали модуль `aiogram`, но не использовали его в декораторе `@bot.message_handler`. Вместо этого, вы должны использовать `@dp.message_handler`, где `dp` - это экземпляр класса `Dispatcher`, который вы создали.
- Вы определили функцию `uhuyu`, но не привязали ее к какому-либо типу сообщения. Вы должны добавить декоратор `@dp.message_handler(content_types=['text'])`, чтобы ваша функция обрабатывала текстовые сообщения.
- Вы не вызвали функцию `uhuyu` внутри функции `echo_handler`. Вы должны добавить строку `await uhuyu(message)` после строки `await message.answer(text="привет")`.

1234567891011121314151617181920212223
 import aiogram  
from aiogram import Bot, Dispatcher, types, executor  
token = "token"  
bot = Bot(token = token)  
dp = Dispatcher(bot = bot)  
 
@dp.message_handler(commands=['start'])  
def send_welcome(message):  
    bot.reply_to(message, "gret4t")  
 
async def echo_handler (message:types.Message):  
    await message.answer(text="привет")  
    await uhuyu(message) # добавил эту строку 
 
@dp.message_handler(content_types=['text']) # добавила этот декоратор 
async def uhuyu(message:types.Message):  
    if message.text.lower() == "привет":  
        await message.answer(text = "привет чем могу помочь")  
    else:  
        await echo_handler(message)  
 
if __name__ == "__main__":  
    executor.start_polling(dispatcher=dp)