接收从 Facebook BOT 发送的消息

Posted

技术标签:

【中文标题】接收从 Facebook BOT 发送的消息【英文标题】:Receiving Messages sent from Facebook BOT 【发布时间】:2018-08-23 15:08:22 【问题描述】:

我目前正在使用 php 开发 Facebook Messenger Bot,但我无法接收使用 (php://input) 发送到 Bot 的消息

$userMessage=file_get_contents("php://input");

$userMessage 变量始终为空。但我可以看到从 ngrok Web 界面发送到机器人的任何消息。 请在下面查看我的代码。

$message=file_get_contents("php://input");
$data=json_decode($message,true);

请查看下方服务器的响应。


"object": "page",
"entry": [
    
        "id": "2081173465260168",
        "time": 1535037661116,
        "messaging": [
            
                "sender": 
                    "id": "1935422053189934"
                ,
                "recipient": 
                    "id": "2081173465260168"
                ,
                "timestamp": 1535037659856,
                "message": 
                    "mid": "NV5F2SEvBt_kiByHhOHOOxGuHnFsxPmmjMlkwErkhywnh8GyDCcggY9L6S8zg1V5BCO7yd2CkPVsE6AVAx7TFg",
                    "seq": 20758,
                    "text": "Hello bot"
                
            
        ]
    
]

【问题讨论】:

如果您希望人们在这里帮助您,您可能需要添加一些额外的代码... 嗨@Alberto,感谢您的回复,我只是想检索发送给机器人的消息。` $message=file_get_contents("php://input"); $data=json_decode($message,true);` 这是唯一的代码行,机器人可以工作,因为我可以在 ngrok 服务器上看到消息日志。我只是不知道为什么我不能用 php 检索它 您的代码不完整,您需要添加更多代码。以下是我在网上找到的示例:dzone.com/articles/facebook-messenger-bot @unixmiah 使用您的示例,这是不起作用的代码行 // 处理机器人的 anwser $input = json_decode(file_get_contents('php://input'), true);。如果你已经验证了你的机器人,前几行是无关紧要的,我有。我只需要处理我收到的 bot file_get_contents('php://input') 的消息。不工作 @unixmiah 我已经添加了来自服务器的响应,我只需要在我的 PHP 代码中选择输入。 【参考方案1】:

几个小时后我就弄明白了,问题是 URL 末尾的斜杠。谢谢各位

【讨论】:

以上是关于接收从 Facebook BOT 发送的消息的主要内容,如果未能解决你的问题,请参考以下文章

使用 Bot Framework 代表用户发送消息

Telegram Bot:从私人群组转发消息

“正在输入...”指示在 bot 框架 + facebook Messenger 中不会消失

HipChat Nodejs Bot - 无法接收房间消息

从Viber bot发送消息给订阅用户

如何使用 discord.js 从 discord bot 向特定用户发送消息