我目前在信使平台上制作聊天机器人。 我想实现get start按钮。当用户首次启动与机器人的对话时,我出现了按钮。问题是我不知道该怎么做。文档没有很好地解释如何在单击按钮时做出适当的响应。以下curl命令用于实现按钮。
curl -X POST -H "Content-Type: application/json" -d '{
"setting_type":"call_to_actions",
"thread_state":"new_thread",
"call_to_actions":[
{
"payload": {
"message" : {
"text": "Get started"
}
}
}
]
}' "https://graph.facebook.com/v2.6/me/thread_settingsaccess_token=XXXX"
非常感谢任何有关如何实际使用“开始”按钮的帮助。
答案 0 :(得分:0)
你的机器人已经运行了吗? 如果是这样你就无所事事,FB会为你管理他身边的一切。 点击“开始”按钮后,它会像用户使用按钮时那样调用程序(通过“回发”处理)。
答案 1 :(得分:0)
我知道这是一个老问题,但我遇到了类似的问题,因为在Stack Overflow中没有其他有关此主题的问题,这仍然没有答案,这些可能会解决您的问题。
首先,您应该检查您的请求,因为as described in the docs,您需要定位您的卷毛帖子请求的端点是https://graph.facebook.com/v2.6/me/thread_settings?access_token=PAGE_ACCESS_TOKEN
(请注意问号)。
其次,还需要检查payload
属性是否需要字符串,而不是您在此处发送的对象。发送字符串化的JSON也应该有用。
此外,您可能需要确保在Facebook开发人员面板中正确设置了Messenger端点和事件,特别是事件messaging_postbacks
。
答案 2 :(得分:0)
应该能够从request.body
中取出有效载荷它将包含curl请求中定义的post-back https://developers.facebook.com/docs/messenger-platform/webhook-reference/postback
Messenger会在您的webhook地址发布页面订阅上发生的所有内容,例如收到的消息或来自“开始使用”按钮的回发
查看Facebook文档中的示例 https://glitch.com/edit/#!/messenger-bot?path=bot.js:1:0
// Message processing
app.post('/webhook', function (req, res) {
..
}
检查我链接的示例中的receivedPostback函数你的get start动作将在回发变量中。