Описание
Этот объект представляет собой пользовательскую клавиатуру с вариантами ответа (подробности и примеры см. в Введении в ботов). Не поддерживается в каналах и для сообщений, отправленных от имени Telegram Business аккаунта.
| Поле | Тип | Описание |
|---|---|---|
| keyboard | Массив массивов KeyboardButton | Массив строк кнопок, каждая представлена массивом объектов KeyboardButton |
| is_persistent | Boolean | Необязательный. Требует от клиентов всегда показывать клавиатуру, когда обычная клавиатура скрыта. По умолчанию false, в этом случае пользовательскую клавиатуру можно скрыть и открыть с помощью значка клавиатуры. |
| resize_keyboard | Boolean | Необязательный. Требует от клиентов изменять размер клавиатуры по вертикали для оптимального размещения (например, делать клавиатуру меньше, если есть всего две строки кнопок). По умолчанию false, в этом случае пользовательская клавиатура всегда имеет ту же высоту, что и стандартная клавиатура приложения. |
| one_time_keyboard | Boolean | Необязательный. Требует от клиентов скрывать клавиатуру сразу после использования. Клавиатура будет по-прежнему доступна, но клиенты автоматически отобразят обычную буквенную клавиатуру в чате - пользователь может нажать специальную кнопку в поле ввода, чтобы снова увидеть пользовательскую клавиатуру. По умолчанию false. |
| input_field_placeholder | String | Необязательный. Заполнитель, который будет отображаться в поле ввода, когда клавиатура активна; 1-64 символа |
| selective | Boolean | Необязательный. Используйте этот параметр, если хотите показывать клавиатуру только определённым пользователям. Цели: 1) пользователи, упомянутые в тексте объекта Message; 2) если сообщение бота является ответом на сообщение в том же чате и теме форума, отправитель исходного сообщения. Пример: Пользователь запрашивает изменение языка бота, бот отвечает на запрос клавиатурой для выбора нового языка. Другие пользователи в группе не видят клавиатуру. |
Примеры
json
{
"reply_markup": {
"keyboard": [
[
{
"text": "Button 1"
},
{
"text": "Button 2"
}
],
[
{
"text": "Button 3"
}
]
],
"is_persistent": true,
"resize_keyboard": true,
"one_time_keyboard": false,
"input_field_placeholder": "Type your message here...",
"selective": false
}
}
История изменений
- API 5.3. Обновлен объект ReplyKeyboardMarkup: Добавлена возможность указывать пользовательский placeholder
- API 6.4. Обновлен объект ReplyKeyboardMarkup: Добавлено поле is_persistent
Дополнительно
- KeyboardButton - Этот объект представляет одну кнопку клавиатуры ответа в Telegram Bot API с различными типами действий при нажатии.
- Message - Это основной объект, представляющий сообщение в Telegram, который содержит информацию об отправителе, чате, контенте (текст, медиа, служебные данные) и различные метаданные.