metalexs
@metalexs

Как правильно сделать цикл в heandler telebot?

Помогите разобраться. Хочу код с циклом перенести в Телеграм бота.

Этот фрагмент кода работает без ошибок.
while True:
    a = input("Введите число например 21: ")
    if int(a) < 32:
        a1 = int(a[0]) + int(a[1])
        break
    else:
        print("Число не может быть больше 31")

if a1 >= 10:
    a1 = int(a[0]) + int(a[1])
    print(a1)
elif a1 <= 9:
    a = a1
    print(a)

А в таком виде цикл уже не работает. Я понимаю, что в коде выше при каждом новом цикле в переменную "a" записывалось новое значение с помощью input, а в данном коде в переменную "a" попадает значение >31 и поэтому начинается бесконечный цикл. Все мои попытки играться с while перенося его выше message_handler, ниже и т.д не увенчались успехом.
@bot.message_handler()
def send(message):
    while True:
        a = message.text
        if int(a) < 32:
            a1 = int(a[0]) + int(a[1])
            bot.send_message(message.chat.id, "Отлично! Теперь отправь месяц рождения например 08", parse_mode="html")
            break
        else:
            bot.send_message(message.chat.id, "Число не может быть больше 31", parse_mode="html")

    if a1 >= 10:
        a1 = int(a[0]) + int(a[1])
        
    elif a1 <= 9:
        a = a1
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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