Клавиатура

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

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

Типы кнопок

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

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

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

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

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

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

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

VK Pay

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

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

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

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

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

Внимание! Максимальный размер стандартной клавиатуры — 5 столбцов × 10 строк. При этом максимальное количество кнопок: 40.

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

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

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

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

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

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

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

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

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

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

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

Внимание! Максимальный размер встроенной клавиатуры — 5 столбцов × 6 строк. При этом максимальное количество кнопок: 10.

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

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

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

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

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

Внимание! Эта опция касается только стандартной клавиатуры. Inline кнопки не скрываются.

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

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

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

Переменные

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

Внимание! Если переменная не будет найдена или будет иметь пустое значение, кнопка не будет показываться.

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

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

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

Внимание! При повторном включении возможностей ботов кнопки не появятся.

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

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

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

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

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

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

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

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

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

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

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

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

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

Last updated