Кнопки быстрого ответа — новый функционал ботов в ВК

Вконтакте добавили новый функционал для разработчиков ботов — кнопки быстрого ответа, или как они это называют — клавиатуры с кнопками.

Подобный функционал уже есть в ботах Telegram, видимо, Вконтакте не хотят отставать от детища Дурова. Данный функционал можно будет использовать несколькими интересными способами: например с помощью быстрых ответов можно будет реализовать команды или викторины, где нужно будет выбрать один из вариантов ответа.



Быстрые факты:

  • Подключить новый функционал можно проследовав по этому пути:
    «Управление сообществом» →»Сообщения» →»Настройки для бота» и включив “Возможности ботов”.
  • После включения, у пользователя который еще не общался с ботом снизу диалога будет находится кнопка «Начать».
  • Максимальное количество кнопок — 40 шт. Максимум в ряду — 4. Максимум столбцов — 10.
    (UPD: протестировали сами, нельзя делать больше 20 кнопок)
  • Все кнопки будут иметь одинаковый размер.
  • У кнопок будет 4 цвета: синяя, белая, красная и зеленая. Каждый цвет под определенное действие.

Вот такие цвета кнопок доступны сейчас:

 



Callback API

Если при отправке клавиатуры вы добавите поле «payload», то callback API будет возвращать вам на сервер в «type»:»message_new» специальное поле «payload» с данными о нажатой кнопке. Так вы сможете уникально идентифицировать каждую кнопку и обрабатывать ее. Так же из callback API будет приходить текст нажатой кнопки в поле «label»

{
"type":"message_new",
"object":{
   "id":41,
   "date":1526898082,
   "out":0,
   "user_id":163176673,
   "read_state":0,
   "title":"",
   "body":"Blue",
   "label": "Хочу участвовать в конкурсе"
   "payload":"{\"button\":\"4\"}"
  },
"group_id":1}

Уже сегодня на нашем сайте выйдет первый гайд в рунете для работы с новым функционалом!
UPD: А вот и наша новая статья о том, как создать бота с клавиатурой: Как сделать клавиатуру в боте ВК
Так же вы можете ознакомиться с их официальной документацией(как по мне еще сыроватой) https://vk.com/dev/bots_docs_3