这就是我的代码:
keyboard = types.InlineKeyboardMarkup(row_width=2) # вывод кнопок в 1 колонку
btn_1 = types.InlineKeyboardButton(bookmarks_categories[0], callback_data=0)
btn_2 = types.InlineKeyboardButton(bookmarks_categories[1], callback_data=1)
btn_3 = types.InlineKeyboardButton(bookmarks_categories[2], callback_data=2)
keyboard.add(btn_1,btn_2,btn_3,btn_4,btn_5,btn_6,btn_7,btn_8,btn_9,btn_10,btn_11,btn_12,btn_13,btn_14,btn_15,btn_16,btn_17)
bot.send_message(message.chat.id, 'Вывод inline-клавиатуры', reply_markup=keyboard)
那是我的错误:
2021-08-28 00:11:29,741 (__init__.py:652 MainThread) ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: can't parse inline keyboard button: Text buttons are unallowed in the inline keyboard"
我该如何解决这个问题?
你可以检查这个解决方案,我用多个键盘做了一个项目,例如 inline_keyboards 和 Reply_keyboards,我使用了 telegram 库
from telegram import (InlineKeyboardButton, InlineKeyboardMarkup)
对于内联键盘按钮,您可以首先通过以下方式识别键盘按钮:
buttons = [
[
InlineKeyboardButton(text=bookmarks_categories[0],callback_data=0),
InlineKeyboardButton(text=bookmarks_categories[1],callback_data=1),
],
]
然后像这样识别你的键盘:
keyboard = InlineKeyboardMarkup(buttons)
您需要传递额外的回调数据才能工作
github.setText("Github ");
github.setCallbackData(UUID.randomUUID().toString());