Обновление текста на встроенной клавиатуре Telegram?

Нужно обновлять текст в Inline Keyboard не знаю как

Вот

markup_inline = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton(text= '? '+str(row[1]), callback_data= 'like1')
    item2 = types.InlineKeyboardButton(text= '? '+str(row[2]), callback_data= 'like2')

    markup_inline.add(item1, item2)

Исправленный код:

@bot.message_handler(commands=["but"])
def but(message):
    markup_inline = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton(text= '? ', callback_data= 'like1')
    item2 = types.InlineKeyboardButton(text= '? ', callback_data= 'like2')

    markup_inline.add(item1, item2)
    bot.send_message(message.chat.id, message.text,reply_markup=markup_inline)
@bot.callback_query_handler(func= lambda call:True)
def calls(call):
kolvoLikes = 0
if call.data == "like1":
    conn = sql.connect("music.db")
    cur = conn.cursor()
    cur.execute("SELECT like_one FROM music WHERE id=1543")
    cur.fetchone()
    kolvoLikes += 1

    markup_inline = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton(text= '? '+ str(kolvoLikes), callback_data= 'like1')
    item2 = types.InlineKeyboardButton(text= '? ', callback_data= 'like2')
    markup_inline.add(item1, item2)#Без него выводит текст без кнопок
    bot.edit_message_reply_markup(chat_id= call.message.chat.id, message_id = call.message.message_id, reply_markup = markup_inline)

Ошибка: A request to the Telegram API was unsuccessful. Error code: 400 Description: Bad Request: message is not modified: specified new message content and reply markup are exactly the same as a current content and reply markup of the message


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

Автор решения: Недокодер

Вот простой пример

import sqlite3
@bot.message_handler(commands=["but"])
def but(message):
    markup_inline = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton(text= '? '+str(row[1]), callback_data= 'like1')
    item2 = types.InlineKeyboardButton(text= '? '+str(row[2]), callback_data= 'like2')

    markup_inline.add(item1, item2)
@bot.callback_query(lambda: call True)
def calls(call):
    if call.data == "like1"
       sqler = sql.execute("SELECT likes1 FROM users WHERE id_butt=?", (call.message.message_id))
       kolvoLikes = sqler.fetchone() 
       kolvoLikes += 1
   
       markup_inline = types.InlineKeyboardMarkup()
       item1 = types.InlineKeyboardButton(text= '? '+ kolvoLikes, callback_data= 'like1')
       bot.edit_message_reply_markup(chat_id= call.message.chat.id, message_id = call.message.message_id, reply_markup = markup_inline)
→ Ссылка