Как подождать боту в телеге, пока пользователь напишет сообщение

Хочу добавить команду /addtown, которая будет добавлять город в панель под клавиатурой Но как это сделать, чтобы бот подождал пока пользователь введёт этот город

@bot.message_handler(commands=["addtown"])
def send(message):

    bot.send_message(message.chat.id, "Пиши город который хочешь добавить в подклавиатурную панель".format(message.from_user, bot.get_me()), parse_mode="html")

    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton(message.text)
    markup.add(item1)

    bot.send_message(message.chat.id, "Город успешно добавлен", reply_markup=markup)

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

Автор решения: Ivan Main

Попробуйте этот код:

@bot.message_handler(commands=["addtown"])
def send(message):
    bot.send_message(message.chat.id, "Пиши город который хочешь добавить в подклавиатурную панель")
    bot.register_next_step_handler(message, callback=keyboard_city)

def keybord_city(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton(message.text)
    markup.add(item1)
    bot.send_message(message.from_user.id, "Город успешно добавлен", reply_markup=markup)
→ Ссылка