@LordOftheCode

Не работает 3 хандлер в боте python?

Пишу бота, нужно собрать информацию с пользователя
В первом хандлере я получаю цифру 1 или 2
Во втором хандлере записываю цифру 1 или 2 в переменную, после получение информаци и записав её в переменную, код не может дойти до 3 хандлера
Вопрос почему? Как можно это исправить?

@dp.message_handler(commands=["start"])
async def echo(message: types.Message):
    await message.answer("Выберите предмет.")
    await message.answer("1 - Русский  |  2 - Алгебра")
    
    @dp.message_handler(content_types=['text'])
    async def echo1(message: types.Message):
        logger.info(message.text)
        predmet = message.text
 
        @dp.message_handler(content_types=['text'])
        async def echo2(message: types.Message):
            await message.answer("Введите номер задания.")
            logger.debug(message.text)
            nomer = message.text
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@MEDIOFF
Python Developer
Не работает потому что ваше сообщение перехватывается вторым хендлером, ибо оно выше при резолве ответа, как исправить: написать нормальный код, для цепочки действий использовать FSM, и никогда не вкладывать хендлеры друг в друга
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы