Описание
Этот объект представляет одну кнопку клавиатуры ответа. Должно использоваться не более одного из полей, отличных от text, icon_custom_emoji_id и style, для указания типа кнопки. Для простых текстовых кнопок вместо этого объекта можно использовать String для указания текста кнопки.
| Поле | Тип | Описание |
|---|---|---|
| text | String | Текст кнопки. Если ни одно из полей, отличных от text, icon_custom_emoji_id и style, не используется, при нажатии кнопки он будет отправлен как сообщение |
| icon_custom_emoji_id | String | Опционально. Уникальный идентификатор пользовательского эмодзи, отображаемого перед текстом кнопки. Может использоваться только ботами, которые приобрели дополнительные имена пользователей на Fragment, или в сообщениях, непосредственно отправленных ботом в приватные, групповые чаты и супергруппы, если владелец бота имеет подписку Telegram Premium |
| style | String | Опционально. Стиль кнопки. Должен быть одним из "danger" (красный), "success" (зеленый) или "primary" (синий). Если опущен, используется стиль, определенный приложением |
| request_users | KeyboardButtonRequestUsers | Опционально. Если указано, нажатие кнопки откроет список подходящих пользователей. Идентификаторы выбранных пользователей будут отправлены боту в служебном сообщении "users_shared". Доступно только в приватных чатах |
| request_chat | KeyboardButtonRequestChat | Опционально. Если указано, нажатие кнопки откроет список подходящих чатов. Нажатие на чат отправит его идентификатор боту в служебном сообщении "chat_shared". Доступно только в приватных чатах |
| request_managed_bot | KeyboardButtonRequestManagedBot | Опционально. Если указано, нажатие кнопки предложит пользователю создать и передать бота, который будет управляться текущим ботом. Доступно для ботов, которые включили управление другими ботами в Mini App @BotFather. Доступно только в приватных чатах |
| request_contact | Boolean | Опционально. Если True, номер телефона пользователя будет отправлен как контакт при нажатии кнопки. Доступно только в приватных чатах |
| request_location | Boolean | Опционально. Если True, текущее местоположение пользователя будет отправлено при нажатии кнопки. Доступно только в приватных чатах |
| request_poll | KeyboardButtonPollType | Опционально. Если указано, пользователю будет предложено создать опрос и отправить его боту при нажатии кнопки. Доступно только в приватных чатах |
| web_app | WebAppInfo | Опционально. Если указано, при нажатии кнопки будет запущено описанное Web App. Web App сможет отправить служебное сообщение "web_app_data". Доступно только в приватных чатах |
Примеры
json
{
"text": "Share Contact",
"request_contact": true
}
История изменений
- API 2.0. Добавлен объект KeyboardButton
- API 4.6. Обновлен объект KeyboardButton: Добавлено поле request_poll
- API 6.0. Обновлен объект KeyboardButton: Добавлено поле web_app
- API 6.5. Обновлен объект KeyboardButton: Добавлено поле request_user
- API 7.0. Обновлен объект KeyboardButton: Переименовано поле request_user в request_users
- API 9.4. Обновлен объект KeyboardButton: Добавлено поле icon_custom_emoji_id
- API 9.4. Обновлен объект KeyboardButton: Добавлено поле style
- API 9.6. Обновлен объект KeyboardButton: Добавили поле request_managed_bot к классу KeyboardButton
Дополнительно
- KeyboardButtonRequestUsers - Объект, определяющий критерии для запроса подходящих пользователей через кнопку клавиатуры бота.
- KeyboardButtonRequestChat - Объект, определяющий критерии для запроса подходящего чата через кнопку клавиатуры, с настройкой типа чата, прав администраторов и запрашиваемой информации.
- KeyboardButtonRequestManagedBot - Этот объект задаёт параметры запроса на создание управляемого бота. Результат создания возвращается через специальное обновление и поле в сообщении
- KeyboardButtonPollType - Объект определяет тип опроса, который можно создать при нажатии кнопки в интерфейсе бота.
- WebAppInfo - Объект, содержащий информацию о Веб-приложении для его открытия с дополнительными данными.