Как в многоуровневом меню телеграмма удалять старую кнопку с заменой на новую после ввода сообщения(используем библиотеку telebt python)

@bot.message_handler(commands=['start'])

def start(message):

   mainmenu= types.InlineKeyboardMarkup()
   switch1 = types.InlineKeyboardButton(text='ввести текст', callback_data='key1')
   switch2 = types.InlineKeyboardButton(text='Пригласить друга', callback_data='key2')
 
   mainmenu.add(switch1, switch2)

   bot.send_message(message.chat.id, "меню:", reply_markup=mainmenu)


@bot.callback_query_handler(func=lambda call: True)

def button(call):

   if call.data == "mainmenu":
        mainmenu= types.InlineKeyboardMarkup()
        switch1 = types.InlineKeyboardButton(text='ввести текст', callback_data='key1')
        switch2 = types.InlineKeyboardButton(text='Пригласить друга', callback_data='key2')
        mainmenu.add(switch1, switch2)
        bot.edit_message_text('меню:',call.message.chat.id,call.message.message_id,
reply_markup=next_menu)
        bot.clear_step_handler_by_chat_id(chat_id=call.message.chat.id)


   elif call.data == "key1":
       next_menu2 = types.InlineKeyboardMarkup()
       back = types.InlineKeyboardButton(text='\U000021A9 Назад', callback_data='mainmenu')
       next_menu2.add(back)
       bot.edit_message_text('Введите текст:', call.message.chat.id, call.message.message_id,reply_markup=next_menu2)
       
bot.polling() 

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

Автор решения: alex
@bot.message_handler(commands=['start'])
def start(message):

   mainmenu= types.InlineKeyboardMarkup()
   switch1 = types.InlineKeyboardButton(text='ввести текст', callback_data='mainmenu')
   switch2 = types.InlineKeyboardButton(text='Пригласить друга', callback_data='key1')
 
   mainmenu.add(switch1, switch2)

   bot.send_message(message.chat.id, "меню:", reply_markup=mainmenu)


@bot.callback_query_handler(func=lambda call: True)

def button(call):

   if call.data == "mainmenu":
        mainmenu= types.InlineKeyboardMarkup()
        switch1 = types.InlineKeyboardButton(text='ввести текст', callback_data='mainmenu')
        switch2 = types.InlineKeyboardButton(text='Пригласить друга', callback_data='key2')
        mainmenu.add(switch1, switch2)
        bot.edit_message_text('меню:',call.message.chat.id,call.message.message_id,
reply_markup=mainmenu)
        bot.clear_step_handler_by_chat_id(chat_id=call.message.chat.id)


   elif call.data == "key1":
       next_menu2 = types.InlineKeyboardMarkup()
       back = types.InlineKeyboardButton(text='\U000021A9 Назад', callback_data='mainmenu')
       next_menu2.add(back)
       bot.edit_message_text('Введите текст:', call.message.chat.id, call.message.message_id,reply_markup=next_menu2)
       
bot.polling() 
→ Ссылка