Методы выбора местоположения и открытой карты в Viber с узлом

В настоящее время я работаю над сервисом на основе местоположения в чат-боте Viber на Node, но либо документы viber отсутствует информация или я не понимаю что-то важное. Методы, которые мне нужны, это location-picker, чтобы сделать кнопку для обмена местоположением с моим ботом, и open-map, чтобы открыть приложение карты по умолчанию для пользовательского устройства и отображать там информацию при нажатии кнопки. Мне не удалось найти ни одного рабочего примера этой функциональности, ни реальных данных о том, как должны выглядеть запросы клавиатуры для них.

Я попытался сделать такой объект:

"Buttons": {
  "Columns":6,
  "Rows":3,
  "ActionType": "open-map",
  "Map": {
    "Latitude": data.latitude,
    "Longitude": data.longitude
  },
  "Image": data.image
  },

Но это возвращает UnhandledPromiseRejectionWarning при отправке его в viber.

(Конечно, это не весь объект клавиатуры, а его «нерабочая» часть; если я изменю ActionType на «ответить» и добавлю текст ответа, он будет работать нормально)

Для выбора местоположения я пробовал

"Buttons": {
        "Columns": 6,
        "Rows": 1,
        "BgColor": "#26CF94",
        "BgLoop": true,
        "ActionType": "location-picker",
        "Text": "Share location",
},

Но это возвращает UnhandledPromiseRejectionWarning.

С этого момента проблема очевидна, что-то не так с отправленным объектом клавиатуры, но я не могу понять, что именно не так. Так как же правильно это сделать?

p.s. Я использую библиотеку viber-bot для управления запросами


person JustNickname    schedule 05.11.2018    source источник


Ответы (1)


С кнопкой проблем нет. Проблема связана с версией API. При подготовке сообщения необходимо указать версию API.

var registerMessage = new TextMessage("Please register your account to continue", registerKeyboard,undefined,undefined,undefined,3)

Это для текстового сообщения. И я использую API версии 3. Точно так же вы можете сделать это для других типов сообщений и другой версии API.

person taman neupane    schedule 08.01.2019