LebedevStr,
на тот случай если вместо "5" пользователь напишет "пять".
оно для этого и сделано, проверять в строке содержится число либо нет.
Используйте обработчики шагов
https://github.com/eternnoir/pyTelegramBotAPI/blob...
step_msg = bot.send_message(message.from_user.id, 'Не конвертнули. Попробуй еще раз')
bot.register_next_step_handler(step_msg, get_age)
while isinstance(age, str):
Непонятно, зачем while и зачем проверка, является ли строкой данная переменная. Если вы берете значение из
.text
, оно в принципе не может быть ничем другим, кроме как строкой.
От глобальной переменной я бы тоже избавился, но не знаю, может вам нужна.
И
;
- для чего и зачем?
Ну и в итоге выглядело бы так
def get_age(message):
global age
age = message.text
if age.isdigit():
bot.send_message(message.from_user.id, 'Конверт в цифру произошел')
else:
step_msg = bot.send_message(message.from_user.id, 'Не конвертнули. Попробуй еще раз')
bot.register_next_step_handler(step_msg, get_age)