带有api.ai的facebook持久菜单

带有api.ai的facebook持久菜单,facebook,nlp,dialogflow-es,Facebook,Nlp,Dialogflow Es,我在我的服务器上尝试了自定义webhook,用于FB持久菜单和其他功能,效果很好。 当我使用api.ai作为webhook,使用NLP理解和Facebook bot作为客户端界面时,那么在这种情况下如何使用持久菜单。设置持久菜单(不要忘记设置访问令牌) curl-xpost-H“内容类型:application/json”-d”{ “持久菜单”:[ { “区域设置”:“默认设置”, “作曲家输入禁用”:false, “呼叫到行动”:[ { “标题”:“示例”, “类型”:“嵌套”, “呼叫到行动

我在我的服务器上尝试了自定义webhook,用于FB持久菜单和其他功能,效果很好。 当我使用api.ai作为webhook,使用NLP理解和Facebook bot作为客户端界面时,那么在这种情况下如何使用持久菜单。

设置持久菜单(不要忘记设置访问令牌)

curl-xpost-H“内容类型:application/json”-d”{
“持久菜单”:[
{
“区域设置”:“默认设置”,
“作曲家输入禁用”:false,
“呼叫到行动”:[
{
“标题”:“示例”,
“类型”:“嵌套”,
“呼叫到行动”:[
{
“类型”:“回发”,
“标题”:“选项1”,
“有效载荷”:“选项1”
},
{
“类型”:“回发”,
“标题”:“选项2”,
“有效载荷”:“选项2”
},
]
},
{
“类型”:“回发”,
“标题”:“共享机器人”,
“有效负载”:“共享”
}
]
}
]
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=“

在bot代码中,仔细检查POST-webhook是否处理event.postback。然后检查回发操作的有效负载以响应菜单请求

if(event.postback.payload == "OPTION_1") {
    // Option 1 bot action
}
if(event.postback.payload == "OPTION_2") {
    // Option 2 bot action
}
if(event.postback.payload == "SHARE") {
    // Share bot action
}

你在托管你自己的机器人吗?@BcfAnt是的!我正在托管我自己的服务器,尽管我希望在facebook机器人中有菜单驱动的选项。我尝试了api.ai->intents->QuickReplies部分,在该部分中,我为预定义的intent添加了菜单驱动的响应,但我想通过我自己的服务器上的webhook响应添加这些响应,而api.ai用于动态响应