Как сделать что-бы пользователь не мог вводить буквы, а только числа?

Рейтинг: 0Ответов: 1Опубликовано: 25.02.2023

Пишу бота в телеграм с помощью библиотеки telebot и столкнулся с такой проблемой, что если пользователь введет буквы где от него ожидаются цифры, то вылазит ошибка и бот перестает работать, как запретить пользователю вводить буквы, а разрешить вводить только числа? Вот такая вот ошибка: could not convert string to float: 'буквы'.

Ответы

▲ 1Принят
def chislo(message):
    try: num = int(message.text) #Попытка изменить тип полученного сообщения в Integer
    except: bot.send_message(message.chat.id, "Ошибка! Вы ввели не число." #В случае ошибки пишет ошибка
    else: bot.send_message(message.chat.id, "Вы ввели число {num}") #Если попытка успешная возвращает в бота число

send = bot.send_message(message.chat.id, "Введите число:") #Сообщение после которого надо зарегестрировать ответ пользователя
bot.register_next_step_handler(send, chislo) #Регистрирует ответ пользователя и передаёт его в функцию Chislo()