Как заставить бота ждать сообщение от пользователя?

import telebot
from telebot import types
import confige

client = telebot.TeleBot(confige.config['token'])

@client.message_handler(commands=['start'])
def get_start(message):
    client.send_message(message.chat.id, f'{confige.start_text()}')

@client.message_handler(commands=['naruto_episode'])
def get_episode(message):
    markup_inline = types.InlineKeyboardMarkup()
    markup_button1 = types.InlineKeyboardButton(text='1 сезон', callback_data='1s')
    markup_button2 = types.InlineKeyboardButton(text='2 сезон', callback_data='2s')
    markup_button3 = types.InlineKeyboardButton(text='3 сезон (Боруто)', callback_data='3s')

    markup_inline.add(markup_button1, markup_button2, markup_button3)
    client.send_message(message.chat.id, 'Какой сезон тебя интересует:', reply_markup=markup_inline)
#====================================================================
@client.callback_query_handler(func= lambda call: True)
def answer(call):
    if call.data == '1s':
        client.send_message(call.message.chat.id, 'Отлично, теперь напиши нужную тебе серию:')
        #в этом месте нужно ждать сообщение от пользователя===============
        #=================================================================
client.polling()

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

Автор решения: MatthewBR

Для этого нужно использовать метод register_next_step_handler. Вот пример:

if message.text == 'kek':
    msg = bot.send_message(message.chat.id, 'Введите промокод:')
    bot.register_next_step_handler(msg, input_promocod)

И дальше создаете функцию с названием второго аргумента, туда будет передано сообщение, которое отправил пользователь.

def input_promocod(message):
    x = message.text # Это и будет текст, которой отправил пользователь
→ Ссылка