Помогите разобраться с фyнкцией register_next_step_handler. Библиотека: pytelegrambotapi

Я читал вопросы на этy темy, но немного не понял как строить с ней цепи, и для чего аргyмент message. И как сделать с ней рекyрсию. Пример: Введите число, если ввели не число, то обратно пишет Введите число.


Ответы (1 шт):

Автор решения: D. Violet
@bot.message_handler(commands=['start'])
def start(message):
    msg = bot.send_message(message.chat.id, 'введите число')  # сообщение от бота
    bot.register_next_step_handler(msg, start_2)  # регистрация след.шага, отправка сообщения, переход к след.функции


def start_2(message):
    if message.text.isdigit():  # если сообщение от пользователя число
        bot.send_message(message.chat.id, 'ваше число {}'.format(message.text))  # отправка сообщения пользователю
    else:  # иначе (если не число)
        bot.send_message(message.chat.id, 'это не число')  # отправка сообщения пользователю
        start(message)  # переход к функции
→ Ссылка