Ошибка в коде telebot - Bad Request: message to edit not found

Я хочу сделать своего телеграмм бота, но натыкаюсь на ошибку:

File "xxxxx", line 195, in _check_result raise ApiTelegramException(method_name, result, result_json) telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: message to edit not found

Ошибка возникает при нажатии на кнопку или запуске команды /start.

Не понимаю как её решать. Помогите пожалуйста, буду рад любой критике и помощи.

Код приложения:

import telebot as tb
from telebot import types

TOKEN = 'token'
bot = tb.TeleBot(TOKEN)


# обрабатываем команду /start
@bot.message_handler(commands=['start'])
def command_start(message):
   markup = types.InlineKeyboardMarkup()
   # создание кнопок
   btn_a = types.InlineKeyboardButton('Кнопка1', callback_data='btn_a')
   btn_f = types.InlineKeyboardButton('Кнопка2', callback_data='btn_f')
   # расположение кнопок
   markup.row(btn_a, btn_f)
   btn_s = types.InlineKeyboardButton('Кнопка3', callback_data='btn_s')
   btn_d = types.InlineKeyboardButton('Кнопка4', callback_data='btn_d')
   markup.row(btn_d, btn_s)

   bot.reply_to(message, 'Выберите кнопку.', reply_markup=markup)

@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
   if call.data == "markup":
       markup = types.InlineKeyboardMarkup()

       btn_a = types.InlineKeyboardButton('Кнопка1', callback_data='btn_a')
       btn_f = types.InlineKeyboardButton('Кнопка2', callback_data='btn_f')
       markup.row(btn_a, btn_f)
       btn_s = types.InlineKeyboardButton('Кнопка3', callback_data='btn_s')
       btn_d = types.InlineKeyboardButton('Кнопка4', callback_data='btn_d')
       markup.row(btn_d, btn_s)

       bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id, 
       reply_markup=markup)

   elif call.data == "btn_a":
       markup_two_menu = types.InlineKeyboardMarkup()

       btn_a_1 = types.InlineKeyboardButton('Google', url='http://google.com/')
       btn_a_2 = types.InlineKeyboardButton('YouTube', url='https://www.youtube.com/')
       markup_two_menu.row(btn_a_1, btn_a_2)

       bot.edit_message_text('Выберите контент который хотелибы посмотреть.', 
       call.message.chat.id, reply_markup=markup_two_menu)

# обработка текста
@bot.message_handler()
def text(message):
   bot.send_message(message.chat.id, 'Я взаимодействую только с кнопками, на вопросы не 
   отвечаю(')

bot.polling(none_stop=True)

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

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

Эта ошибка означает что вы пытаетесь изменить сообщение, которого нету. Дело в том что в строке

bot.edit_message_text('Выберите контент который хотели бы посмотреть.', 
       call.message.chat.id, reply_markup=markup_two_menu)

вы передаете только chat id, но нужно передать еще и message id.

 bot.edit_message_text(text='Выберите контент который хотели бы посмотреть.', 
   chat_id=call.message.chat.id,message_id=call.message.message_id, reply_markup=markup_two_menu)
→ Ссылка