我设置PHP中的工作的Facebook聊天机器人,并建有回传按钮是一个通用模板转盘:
[
type"=>"postback",
"title"=>"Opening Hours",
"payload"=>"Opening Hours"
],
按下按钮,回传和检查我的PHP的日志我得到:
{"object":"page","entry":[{"id":"457107221010xxx","time":1513219207386,
"messaging": [{"recipient":
{"id":"457107221010xxx"},"timestamp":1513219207386,"sender":
{"id":"1510264525690xxx"},"postback":{"payload":"Opening
Hours","title":"Opening Hours"}}]}]}
我处理这回发在我的代码是:
$postback = $input['entry'][0]['messaging'][0]['postback']['payload'];
if ($postback!="") {
$answer = ["text"=> $openingHours];
}
但在Messenger窗口按下后表示回发按钮,信使似乎是“输入”与三个点对话框显示几秒钟,但当时它只是停止没有任何回复。 我没有启用网络挂接“message_postback”选项,以及其他查询工作(例如,如果我输入“营业时间”手动我会得到营业时间回复)。 我处理其他查询与下面的代码和它的工作原理:
$sender = $input['entry'][0]['messaging'][0]['sender']['id'];
$message = $input['entry'][0]['messaging'][0]['message']['text'];
if(preg_match('[opening|hours]', strtolower($message))) {
$answer = ["text"=>"
Opening Hours:
10:30 am – 1:00 am (Sun-Thu)"];
} else {
//show menu
}
任何意见非常感谢!