12

我从 Messenger Platform API 开始。我想做简单的 Messenger 聊天机器人。这是我遵循的教程。

如您所见,首先我需要设置 webhook(第 2 步)。所以基本上:提供一些 REST API 并返回一些数据的 Web 服务器。问题是:facebook 要求我提供一些当前在互联网上有效的真实、现有的应用程序 URL。那么,每次更改某些内容时是否需要将代码上传到服务器?我可以在本地(在我的本地主机上)以某种方式对其进行测试吗?如何测试我的机器人的行为?

4

5 回答 5

29

您可以使用一些服务将在 localhost 上运行的网络服务器公开给公众。两个选项是localtunnelngrok

假设您的网络服务器在http://localhost:8000/上运行,您可以如何执行此操作的示例(来自 localtunnel 的快速入门)如下所示:

从 npm 安装 localtunnel:

npm install -g localtunnel

请求到本地服务器的隧道:

lt --port 8000

这将生成一个链接,https://foo.localtunnel.me您可以使用该链接从 Web 访问您的本地主机。一个不错的功能是您会自动获取 https,因此 Facebook 不会给您“SSL 证书问题”错误。Localtunnel 或 ngrok 也很适合与他人共享在本地运行的工作。

请注意,localtunnel url 仅在连接存在时才有效,因此如果连接结束,您必须更新 Facebook 的 url。

于 2016-04-19T02:42:21.687 回答
16

我创建了一个试图解决这个确切问题的库!有了fb-local-chat-bot您,您可以轻松地离线测试您的机器人。该库还使测试变得更加简单。如果你有兴趣,一定要看看

https://github.com/spchuang/fb-local-chat-bot

演示:

于 2016-08-19T08:23:23.157 回答
3

您可以使用 ngrok 在 localhost 中测试 messenger bot。您可以在以下网址下载它: https ://ngrok.com/download

在执行 ngrok 时,它将生成可用作 webhook 端点的安全链接。

也可以通过查看ngrok的每个请求和响应的详细状态

http://localhost:4040/inspect/http

稍后,完成后,您可以将代码部署到安全服务器。

您可以在以下链接中找到有关如何构建基本聊天机器人的更多信息:

如何在 facebook messenger 上构建一个基本的聊天机器人

于 2016-10-27T07:32:36.870 回答
1

您可以免费在 heroku 上部署后端服务。它提供带有 RSA 的公共 DNS。

于 2016-10-30T02:46:51.577 回答
0

如果由于某种原因(例如将 webhook 路由到多台开发机器)无法使用 ngrok。请尝试我为在本地开发/调试 webhook 而创建的这个模拟器。这提供了 send api 和 messenger ui 的仿真

我为发送 api 和信使创建了一个模拟器,用于在本地调试 web 挂钩

https://github.com/SonOfSardaar/facebook-send-api-emulator

我也遇到过这个(我还没有尝试过这个,但看起来不错)

https://docs.microsoft.com/en-us/bot-framework/debug-bots-emulator

于 2017-11-14T14:22:39.290 回答