Клавиатура

Источник

К сообщению можно прикреплять кнопки, удалять их и менять местами. Текст отображается по центру кнопки и обрезается, если не помещается полностью при текущем размере экрана.

Клавиатура в сообщении

Кнопки можно перемещать между собой в строке и между строк с помощью зажатия левой кнопкой мыши или долгим зажатием на мобильном.

Типы кнопок

  1. Текстовая кнопка - отправляет определенный текст, указанный на кнопке;

  2. Местоположение - отправляет карту с текущим местоположением подписчика;

  3. Оплата - позволяет оплатить платную подписку через VK Pay;

  4. Приложение - позволяет открыть любое приложение из Vk Mini Apps;

  5. Ссылка - позволяет открыть любую ссылку.

Текстовые кнопки не работают в качестве ключевых слов.

Открытие приложений и ссылок по кнопками никак не отслеживается.

VK Pay

  • кнопка не показываться, если не найдена платная подписка с ненулевой стоимостью

  • кнопка не показываться, если стоимость меньше 1 руб.

  • кнопка не показываться, если пользователь уже подписан, и подписка не периодическая.

Стандартная клавиатура

По умолчанию, клавиатура показывается под полем ввода в диалоге с пользователем.

circle-exclamation
Стандартная клавиатура

Если установить опцию Скрыть клавиатуру после нажатия, то стандартная клавиатура будет скрываться после нажатия на кнопку.

Если в момент прохождения пользователем бота ему пришло сообщение из массовой рассылки, кнопки от бота сохранятся.

Если в момент прохождения пользователем бота ему пришло сообщение от другого бота, кнопки от первого бота будут удалены, даже если последнее сообщение пришло без кнопок. Таким образом можно удалять кнопки у пользователей.

circle-exclamation

Клавиатура с кнопками может быть скрыта. Чтобы ее показать, нужно нажать на кнопку с четырьмя точками.

Показать клавиатуру ВКонтакте

Особенности стандартной клавиатуры:

  • Располагается под формой для ввода сообщения

  • Удаляется после получения нового сообщения от бота

  • Скрывается под иконкой с четырьмя точками (можно не заметить эту иконку и потерять клавиатуру)

Клавиатура внутри сообщения

Inline-клавиатура (или inline-кнопки) - это клавиатура, которая показывается под определенным сообщением.

circle-exclamation
Клавиатура внутри сообщения

Особенности Inline-клавиатуры:

  • Располагается под определенным сообщением

  • Cохраняется в истории сообщений

  • Не скрывается (с одной стороны это плюс - ее нельзя не заметить, с другой стороны - на эти кнопки можно нажимать бесконечное количество раз и их никак не удалить)

Скрытие клавиатуры после нажатия

circle-exclamation

Опция Скрыть клавиатуру после нажатия позволяет убрать клавиатуру, чтобы пользователь больше не смог нажать на кнопки. Данная опция будет полезна, если не нужны повторные нажатия, и после кнопки нет дальнейших сообщений.

Если в чат-боте настроены сообщения после нажатия на кнопки, эту опцию можно не использовать, так как при получении следующего сообщения старая клавиатуры будет удалена или заменена новой.

circle-exclamation

Переменные

В тексте кнопок можно использовать глобальные или пользовательские переменные.

circle-exclamation
Пример кнопки, которая содержит переменную

Удаление старых кнопок

Чтобы удалить старые кнопки только у одного пользователя, ему нужно отправить с помощью бота новое сообщение без кнопок.

Можно удалить старые кнопки у всех пользователей, которые были отправлены ранее в сообщениях, включая Inline-кнопки. Для этого нужно выключить Возможности ботов.

circle-exclamation

Не работают кнопки

Если бот не реагирует на нажатие кнопок, выполните автоматическую настройку в разделе Настройки. Это должно решить проблему, так как в редких случаях Callback API ВКонтакте перестает работать (причины пока не выявлены), из-за этого сервис не получает информации о нажатии на кнопки.

К сожалению автоматическая настройка никак не позволит учесть предыдущие нажатия кнопок, поэтому если у вас были пользователи, которые нажимали на кнопки и не перешли на следующий шаг, их нужно будет перенести вручную.

Автоматическая настройка подключения ВК

Команда не найдена

При нажатии на кнопку отправляется сообщение:

Извините, команда не найдена.

Такое сообщение отправляем в следующих случаях:

  • пользователь не находится в базе подписчиков

  • пользователь не находится в боте

  • чат-бот был удален

  • шаг с кнопкой в боте был удален

  • пользователь находится в черном списке

Полезные материалы