gpt4 book ai didi

node.js - Facebook Messenger 机器人永久菜单

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:41 25 4
gpt4 key购买 nike

我正在生成我的第一个使用 Node.js 和 Heroku 的机器人,但发现理解持久菜单功能有些困难。

问题 1) 如何将事件附加为回调?

function persistentMenu(sender){
request({
url: 'https://graph.facebook.com/v2.6/me/thread_settings',
qs: {access_token:token},
method: 'POST',
json:{
setting_type : "call_to_actions",
thread_state : "existing_thread",
call_to_actions:[
{
type:"postback",
title:"FAQ",
payload:"DEVELOPER_DEFINED_PAYLOAD_FOR_HELP"
},
{
type:"postback",
title:"I Prodotti in offerta",
payload:"DEVELOPER_DEFINED_PAYLOAD_FOR_HELP"
},
{
type:"web_url",
title:"View Website",
url:"https://google.com/"
}
]
}

}, function(error, response, body) {
console.log(response)
if (error) {
console.log('Error sending messages: ', error)
} else if (response.body.error) {
console.log('Error: ', response.body.error)
}
})

}

问题 2)我发现清空持久菜单并生成新菜单的唯一方法是通过终端发出删除请求(“如 Facebook 所记录”),是否有可能清除在我的 app.js 文件上插入刷新功能?

curl -X DELETE -H "Content-Type: application/json" -d '{"setting_type":"call_to_actions","thread_state":"existing_thread"}' "https://graph.facebook.com/v2.6/me/thread_settingsaccess_token=PAGE_ACCESS_TOKEN"    

最佳答案

FB 示例机器人的回调结构不完善。我还没有找到在 Node 回调或 promise 模型中构建示例的好方法。我确信 Node 专家可以重新组织它。

对于持久菜单,如果您发送空的 call_to_actions 数组,菜单将会消失。然而,菜单看起来有点“粘”,因为发送消息时它不会立即出现/消失。

我将您的代码片段合并到我的示例机器人中。您可以在以下位置查看:

https://messenger.com/t/dynamicmemorysolutions

来源位于:

https://github.com/matthewericfisher/fb-robot

查看添加/删除菜单命令和功能。

编辑:持久菜单 API 已更新。请参阅this问题以获取更多详细信息。

关于node.js - Facebook Messenger 机器人永久菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38511760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com