❌ Ошибка 400 при добавлении InlineKeyboardButton в Telegram
Опубликовано: 22 января 2023 г.
Ошибка 400
Error code: 400.
Description: Bad Request: can't parse inline keyboard button:
Text buttons are unallowed in the inline keyboard
Имеем такой код
keyboard = types.InlineKeyboardMarkup()
types_buttons = (
types.InlineKeyboardButton('\U0001f44d'),
types.InlineKeyboardButton('\U0001f44e'),
)
for type_button in types_buttons:
keyboard.add(type_button)
bot.send_message(message.chat.id, 'text', reply_markup=keyboard)
Решение
Инлайн кнопки должны иметь хотя бы одно опциональное поле:
callback_data
, url
, switch_inline_query
и т.д.
You must use exactly one of the optional fields
(https://core.telegram.org/bots/api#inlinekeyboardbutton)
Если нужны текстовые кнопки, необходимо использовать класс ReplyKeyboardMarkup
.
Thanks GrAnd.