Тип данных ReplyKeyboardMarkup

Объект, представляющий пользовательскую клавиатуру с вариантами ответа для ботов Telegram.

Описание

Этот объект представляет собой пользовательскую клавиатуру с вариантами ответа (подробности и примеры см. в Введении в ботов). Не поддерживается в каналах и для сообщений, отправленных от имени 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, который содержит информацию об отправителе, чате, контенте (текст, медиа, служебные данные) и различные метаданные.
Комментарии