Blog/content/posts/2023/python/telegram-inline-button-error.md

1.1 KiB

title date draft tags
Ошибка 400 при добавлении InlineKeyboardButton в Telegram 2023-01-22T21:33:01+03:00 false
tips
telegram
python

Ошибка 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.