@Maxwell012

Как сделать обработку входящих сообщения aiogram?

Код:
dp.register_message_handler(x_invalid,
                                lambda message: not message.text.isdigit()  
                                                or message.text.isdigit() < 0
                                                or message.text.isdigit() > 99,
                                state=FSMuser.x)
    dp.register_message_handler(x,
                                lambda message: message.text.isdigit() >= 0 
                                                and message.text.isdigit() <= 99, 
                                state=FSMuser.x)

Все работало, но мне понадобилось добавить еще одно условие message.text.isdigit() > 99 и message.text.isdigit() <= 99, на это условие бот не реагирует все что больше 99 все равно попадает в фсм.
x_invalid - функция принимает некорректное значение x, и выдает сообщение что не корректное значение и просит ввести снова
x - функция получается x, останавливает фсм машину и записывает x
  • Вопрос задан
  • 443 просмотра
Решения вопроса 1
Wispik
@Wispik
message.text.isdigit() возвращает True или False, в условиях надо проверять isdigit, а потом сравнивать само сообщение:
message.text.isdigit() and
int(message.text) > 0
...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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