Показать сообщение отдельно
  #1 (permalink)  
Старый 05.09.2018, 13:22
Новичок на форуме
Отправить личное сообщение для Evgen1023 Посмотреть профиль Найти все сообщения от Evgen1023
 
Регистрация: 27.08.2018
Сообщений: 1

Клавиатура VK бота на node.js
При написании бота для сообщества вк столкнулся с необходимостью отправки клавиатуры бота. Для этого JSON-объект клавиатуры передается строкой в параметре keyboard в методе messages.send

vk.messages.send({
user_id: //id получателя
message: //текст сообщения
keyboard: //клавиатура в формате json
});


Пример клавиатуры из документации:

// клавиатура вида 
// | Red | Green | 
// | White | Blue | 
  keyboard: 
{ 
    "one_time": false, 
    "buttons": [ 
      [{ 
        "action": { 
          "type": "text", 
          "payload": "{\"button\": \"1\"}", 
          "label": "Red" 
        }, 
        "color": "negative" 
      }, 
     { 
        "action": { 
          "type": "text", 
          "payload": "{\"button\": \"2\"}", 
          "label": "Green" 
        }, 
        "color": "positive" 
      }], 
      [{ 
        "action": { 
          "type": "text", 
          "payload": "{\"button\": \"3\"}", 
          "label": "White" 
        }, 
        "color": "default" 
      }, 
     { 
        "action": { 
          "type": "text", 
          "payload": "{\"button\": \"4\"}", 
          "label": "Blue" 
        }, 
        "color": "primary" 
      }] 
    ] 
  }


Я использую библиотеку VK-Promise. Без параметра keyboard сообщения уходят как надо. Однако, при попытке передать клавиатуру возникает ошибка 911 "Keyboard format is invalid", что странно, ведь код я копировал из документации.



Ошибка:

Ответить с цитированием