Задать вопрос
@alwaystried

Можно ли использовать хендлер в хендлере?

Добрый день! Задался вопросом - насколько правильно устроена концепция части моего кода:

@dp.message_handler(Text(equals="⚡️ ️Купить билет"))
async def with_pureee(message: types.Message):
    await message.reply(" Загружаем данные")
    keyboard = ReplyKeyboardRemove()
    back = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    buttons = ["⚡️ Назад"]
    back.add(*buttons)

        @dp.message_handler()
        async def names(message: types.Message):
            mes = message.text
            if mes == "⚡️ Назад":
                return
#код не работающий - автор удалил часть исходного кода


Если можно, то насколько это не безопасно и/или не оптимизировано?
  • Вопрос задан
  • 367 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@Kvason
Веб-разработчик
А зачем? Я такие вещи в основном делаю через флажок и условие то есть например
a=0
@dp.message_handler()
async def echo(message: types.Message):
if(message.text=="⚡️ ️Купить билет" and a==0):
    await message.reply(" Загружаем данные")
    keyboard = ReplyKeyboardRemove()
    back = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    buttons = ["⚡️ Назад"]
    back.add(*buttons)
    a=1
if(a==1 and message.text=="⚡️ Назад"):
    a=0
    return

Тогда у Вас назад будет срабатывать только после купить билет
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы