@buldoser

Как сделать правильно текстовые команды (aiogram)?

Пытаюсь сделать текстовые команды, чтобы при вводе профиль или машина он выводил своё сообщение.
А он выводит сообщение профиля который идёт в if

# ТЕКСТОВЫЕ КОМАНДЫ
@disp.message_handler()
async def text_commands(message: types.Message):
    if message.text == profile_up_low or profile_up_low.upper() or profile_up_low.lower():
        await profile_command(message)
    elif message.text == house_up_low or house_up_low.upper() or house_up_low.lower():
        await house_command(message)
    elif message.text == car_up_low or car_up_low.upper() or car_up_low.lower():
        await car_command(message)
    elif message.text == clothes_up_low or clothes_up_low.upper() or clothes_up_low.lower():
        await clothes_command(message)
    elif message.text == donate_up_low or donate_up_low.upper() or donate_up_low.lower():
        await donate_command(message)
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
@brightcow
Правильнее делать отдельные хендлеры, а не делать ветвления внутри одного.
https://www.youtube.com/watch?v=bIfyaPjs_3s&t=866s можешь посмотреть про это или почитать в оф документации

@dispp.message(Text(text=profile_up_low, ignore_case=True))
async def text_commands(message: types.Message):
    здесь логику пишешь сразу
    await profile_command(message)


примерно так
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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