【问题标题】:Location-picker and open-map methods in viber with node带有节点的 viber 中的位置选择器和打开地图方法
【发布时间】:2018-11-05 09:42:41
【问题描述】:

我目前正在 Node 上的 viber 聊天机器人中开发基于位置的服务,但是 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 更改为“回复”并添加回复文本,它将正常工作)

我尝试了位置选择器

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

但这会返回 UnhandledPromiseRejectionWarning。

从那时起,问题就很明显了,发送的键盘对象出了点问题,但我不知道到底出了什么问题。那么正确的做法是什么?

附言我正在使用 viber-bot 库来管理请求

【问题讨论】:

    标签: node.js chatbot viber


    【解决方案1】:

    按钮没有问题。问题在于 API 版本。您需要在准备消息时指定 API 版本。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2021-04-30
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多