我正在尝试打开一个特定的信使页面并触发一个对话框,根据我的用户在我的网站上输入的参数显示轮播。我正在利用m.me链接打开我的信使页面(部署了我的botframeowrk bot)。打开页面后,我无法调用对话框。
我怎么能实现这个???
我浏览了Botframework V4文档并没有找到任何特定于通道的触发器。我想从网站上传递4个参数给我的Bot,然后在我将调用的对话框中进一步调用api来显示结果。
提前致谢。
您需要在Facebook Developer门户中启用消息传递引用以使用m.me链接。在门户中,单击左侧的设置刀片,向下滚动到webhooks,然后单击编辑事件。应弹出一个窗口,您可以在其中启用messaging_referrals
。
Facebook只允许您将ref
参数添加到m.me链接,因此要使用此链接向bot发送其他数据,您必须对ref参数中的值进行编码并在bot端解析数据 - 我建议使用分隔符值(如逗号或斜杠)来组织数据。
https://m.me/<PAGE_NAME>?ref=my,additional,data
该事件将作为带有引荐属性的消息活动发送到机器人,您可以在其中获取数据。
m.me链接机器人活动
{
"type": "message",
"id": "CDbQi3u62J7",
"timestamp": "2019-03-19T19:30:11.219Z",
"serviceUrl": "https://facebook.botframework.com/",
"channelId": "facebook",
"from": {
"id": "2031650190235097",
"name": "TJ Durnford"
},
"conversation": {
"isGroup": false,
"id": "2031650190235097-218838049015546"
},
"recipient": {
"id": "218838049015546",
"name": "thdurn-all-channels"
},
"channelData": {
"sender": {
"id": "2031650190235097"
},
"recipient": {
"id": "218838049015546"
},
"timestamp": 1553023811219,
"referral": {
"ref": "my,additional,data",
"source": "SHORTLINK",
"type": "OPEN_THREAD"
}
}
希望这可以帮助!