带有节点的viber的位置选择器和开放地图方法

时间:2018-11-05 09:42:42

标签: node.js chatbot viber

我目前正在Node上的viber chatbot中从事基于位置的服务,但是viber docs缺少信息或我不了解重要的信息。 我需要的方法是location-picker来创建一个与我的机器人共享位置的按钮,而open-map来为用户设备打开默认的地图应用程序,并在按下按钮时显示信息。我既没有找到此功能的任何可行示例,也没有找到有关这些功能的键盘请求的实际数据。

我试图制作一个像这样的对象:

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

但这会在将其发送到viber时返回UnhandledPromiseRejectionWarning。

(当然,这不是整个键盘对象,而是它的“不起作用”部分;如果我将ActionType更改为“ reply”并添加回复文本,它将很好用)

对于我尝试过的位置选择器

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

但这将返回UnhandledPromiseRejectionWarning。

从这一点来看,问题很明显,发送的键盘对象出了点问题,但我无法弄清楚到底是什么问题。那么正确的方法是什么?

p.s。我正在使用viber-bot库来管理请求

1 个答案:

答案 0 :(得分:0)

按钮没问题。问题出在API版本。准备message时需要指定API版本。

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

这是短信。我正在使用API​​版本3。同样,您可以对其他类型的消息和其他api版本执行此操作