Как сделать inline кнопку назад в telebot?

@bot.message_handler(commands=['start'])
def main(message):
    markup = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton('Заполнить анкету', url='https://gamergains.com')
    markup.row(btn1)
    btn2 = types.InlineKeyboardButton('Инфо', callback_data='Инфо')
    btn3 = types.InlineKeyboardButton('?Форум тема', callback_data='forum')
    markup.row(btn2,btn3)
    bot.send_message(message.chat.id, 'Привет!', reply_markup=markup)

@bot.callback_query_handler(func=lambda call: True)
def answer (call):
    if call.data == "forum":
        markup1 = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn4 = types.InlineKeyboardButton('?back', callback_data='back')
        markup1.row(btn4)
        bot.send_message(call.message.chat.id, 'https://google.com')
    elif message.text == 'Назад':
        main(message)

bot.polling(non_stop=True)

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

Автор решения: Violet
  1. необходимо использовать InlineKeyboardMarkup() для markup1
  2. добавить reply_markup к send_message в блоке if call.data == 'forum'
  3. вместо elif message.text == 'Назад' необходимо использовать elif call.data == 'back'
  4. добавить изменение или отправку сообщения в блоке elif call.data == 'back' с указанием reply_markup со значением функции main

Итоговый код:

@bot.message_handler(commands=['start'])
def main(message):
    markup = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton('Заполнить анкету', url='https://gamergains.com')
    markup.row(btn1)
    btn2 = types.InlineKeyboardButton('Инфо', callback_data='Инфо')
    btn3 = types.InlineKeyboardButton('?Форум тема', callback_data='forum')
    markup.row(btn2, btn3)
    bot.send_message(message.chat.id, 'Привет!', reply_markup=markup)


@bot.callback_query_handler(func=lambda call: True)
def answer(call):
    if call.data == "forum":
        markup1 = types.InlineKeyboardMarkup()
        btn4 = types.InlineKeyboardButton('?back', callback_data='back')
        markup1.row(btn4)
        bot.send_message(call.message.chat.id, 'https://google.com', reply_markup=markup1)

    elif call.data == 'back':
        bot.edit_message_text(call.message.text, call.message.chat.id, call.message.message_id,
                              reply_markup=main(call.message))
→ Ссылка