Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Клавиатура VK бота на node.js (https://javascript.ru/forum/node-js-io-js/75138-klaviatura-vk-bota-na-node-js.html)

Evgen1023 05.09.2018 13:22

Клавиатура 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", что странно, ведь код я копировал из документации.



Ошибка:


Eron 06.09.2018 23:45

Забавно то, что столкнулся с этой проблемой в один день с тобой..


Часовой пояс GMT +3, время: 04:56.