VkKeyboard

Модуль для удобного создания клавиатур для ботов

class vk_api.keyboard.VkKeyboard(one_time=False, inline=False)[source]

Класс для создания клавиатуры для бота (https://vk.com/dev/bots_docs_3) :param one_time: Если True, клавиатура исчезнет после нажатия на кнопку :type one_time: bool

get_keyboard()[source]

Получить json клавиатуры

classmethod get_empty_keyboard()[source]

Получить json пустой клавиатуры. Если отправить пустую клавиатуру, текущая у пользователя исчезнет.

add_button(label, color=VkKeyboardColor.SECONDARY, payload=None)[source]
Добавить кнопку с текстом.

Максимальное количество кнопок на строке - MAX_BUTTONS_ON_LINE

Parameters:
  • label (str) – Надпись на кнопке и текст, отправляющийся при её нажатии.

  • color (VkKeyboardColor or str) – цвет кнопки.

  • payload (str or list or dict) – Параметр для callback api

add_callback_button(label, color=VkKeyboardColor.SECONDARY, payload=None)[source]
Добавить callback-кнопку с текстом.

Максимальное количество кнопок на строке - MAX_BUTTONS_ON_LINE

Parameters:
  • label (str) – Надпись на кнопке и текст, отправляющийся при её нажатии.

  • color (VkKeyboardColor or str) – цвет кнопки.

  • payload (str or list or dict) – Параметр для callback api

add_location_button(payload=None)[source]
Добавить кнопку с местоположением.

Всегда занимает всю ширину линии.

Parameters:

payload (str or list or dict) – Параметр для callback api

add_vkpay_button(hash, payload=None)[source]
Добавить кнопку с оплатой с помощью VKPay.

Всегда занимает всю ширину линии.

Parameters:

hash – Параметры платежа VKPay и ID приложения

(в поле aid) разделённые & :type hash: str :param payload: Параметр для совместимости со старыми клиентами :type payload: str or list or dict

add_vkapps_button(app_id, owner_id, label, hash, payload=None)[source]
Добавить кнопку с приложением VK Apps.

Всегда занимает всю ширину линии.

Parameters:
  • app_id (int) – Идентификатор вызываемого приложения с типом VK Apps

  • owner_id – Идентификатор сообщества, в котором установлено

приложение, если требуется открыть в контексте сообщества :type owner_id: int :param label: Название приложения, указанное на кнопке :type label: str :param hash: хэш для навигации в приложении, будет передан в строке параметров запуска после символа # :type hash: str :param payload: Параметр для совместимости со старыми клиентами :type payload: str or list or dict

Добавить кнопку с ссылкой

Максимальное количество кнопок на строке - MAX_BUTTONS_ON_LINE

Parameters:
  • label (str) – Надпись на кнопке

  • link (str) – ссылка, которую необходимо открыть по нажатию на кнопку

  • payload (str or list or dict) – Параметр для callback api

add_line()[source]

Создаёт новую строку, на которой можно размещать кнопки. Максимальное количество строк:

Стандартное отображение - MAX_DEFAULT_LINES; Inline-отображение - MAX_INLINE_LINES.

class vk_api.keyboard.VkKeyboardColor(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Возможные цвета кнопок

PRIMARY = 'primary'

Синяя

SECONDARY = 'secondary'

Белая

NEGATIVE = 'negative'

Красная

POSITIVE = 'positive'

Зелёная

class vk_api.keyboard.VkKeyboardButton(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Возможные типы кнопки

TEXT = 'text'

Кнопка с текстом

LOCATION = 'location'

Кнопка с местоположением

VKPAY = 'vkpay'

Кнопка с оплатой через VKPay

VKAPPS = 'open_app'

Кнопка с приложением VK Apps

Кнопка с ссылкой

CALLBACK = 'callback'

Callback-кнопка