我目前在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。
对于位置选择器,我尝试过
"Buttons": {
"Columns": 6,
"Rows": 1,
"BgColor": "#26CF94",
"BgLoop": true,
"ActionType": "location-picker",
"Text": "Share location",
},但这将返回UnhandledPromiseRejectionWarning。
从这一点来看,问题很明显,发送的键盘对象有问题,但我不知道到底是什么问题。那么,什么是实现这一目标的正确方法?
附注:我正在使用viber-bot库来管理请求
发布于 2019-01-08 13:58:06
按钮没有问题。此问题与API版本有关。您需要在准备消息时指定API版本。
var registerMessage = new TextMessage("Please register your account to continue", registerKeyboard,undefined,undefined,undefined,3)这是用于文本消息的。我使用的是API版本3。同样,您也可以对其他类型的消息和其他api版本执行此操作
https://stackoverflow.com/questions/53151801
复制相似问题