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

## Ошибка 400

```text
Error code: 400.
Description: Bad Request: can't parse inline keyboard button:
Text buttons are unallowed in the inline keyboard
```

Имеем такой код

```python
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](https://ru.stackoverflow.com/a/1354497).
