使用 Microsoft 的 Bot Framework 和 Dialogflow API 构建你的第一个聊天机器人:第 3 天(在 Slack 和 Facebook Messenger 上集成和测试聊天机器人)





5.00/5 (4投票s)
如何在 Slack 和 Facebook Messenger 上集成和测试聊天机器人)
目录
前言
本文是对 CodeProject 的 Slack API 挑战 的投稿。该比赛于 2019 年 1 月 7 日正式开始,将于 2019 年 3 月 7 日结束。
毫无疑问,Slack 是当今每个开发人员都需要并且以新方式流行的平台。
它易于使用和管理,不仅如此,我们还可以创建自己的 Slack 应用并为其添加许多自定义功能。您可以在本文中了解如何创建自己的 Slack 应用。它非常简单,创建您的第一个应用可能只需要 20 分钟。
聊天机器人教程路线图
由于这是一个广泛的话题,超出了单篇文章的范围,因此我将这些部分分成了多篇文章。在第一篇文章中,我们将学习如何使用 Google 的 Dialogflow
创建聊天机器人,并在 Dialogflow
控制台中测试该机器人。我们还将了解如何将其与 Slack 集成。第二篇文章将演示如何使用 Microsoft 的 Bot Framework 创建自定义聊天机器人,并启用 Dialogflow
中的 Webhook,然后将响应从自定义机器人返回到 Dialogflow
的意图中作为fulfillment响应。本系列的第三篇文章将演示如何将第二篇和第三篇文章中创建的完整机器人集成到 Facebook Messenger 和 Slack 中,并在两个环境中测试 webhook 响应。以下是关于学习如何创建自定义聊天机器人的三篇文章教程。
- 使用 Microsoft Bot Framework 和 Dialogflow API 构建你的第一个聊天机器人:第 1 天(Dialogflow 和 Slack 集成)
- 使用 Microsoft Bot Framework 和 Dialogflow API 构建你的第一个聊天机器人:第 2 天(使用 Microsoft Bot Framework 构建机器人)
- 使用 Microsoft Bot Framework 和 Dialogflow API 构建你的第一个聊天机器人:第 3 天(在 Slack 和 Facebook Messenger 上集成和测试机器人)
必备组件
本文的读者预计已完成该系列的前两篇文章。
部署聊天机器人到 Facebook Messenger
我们最初的基础机器人已经完成,您可以根据自己的意愿和需求对其进行进一步增强。在本节中,我们将学习如何将机器人部署到 Facebook Messenger,作为您自定义 Facebook 页面的聊天机器人。
因此,这里需要的是,假设您为您的企业或公司拥有一个 Facebook 页面,并且需要在该页面上部署自动聊天机器人功能,以便任何用户都可以寻求信息或与该机器人交谈。
首先,在部署机器人到 Facebook 页面之前,我们需要有一个 Facebook 页面。
- 打开 URL https://developer.facebook.com 并使用您现有的 Facebook 凭据登录或创建一个新帐户。
- 我将使用我现有的 Facebook 帐户登录。它会要求创建一个 Facebook 开发者帐户,是的,我们需要这样做,所以请单击下一步。
- 提供应用名称(随意)和联系电子邮件,然后单击下一步。
- 通过安全检查,然后单击提交。
- 它将显示欢迎消息,并要求添加您的第一个产品。点击“添加您的第一个产品”按钮。
- 您将看到的下一个屏幕是 Facebook 开发者仪表板。由于我们需要设置 Facebook Messenger,请单击如下所示的 Messenger 设置按钮。
- 您需要一个访问令牌和一个密钥。因此,导航到设置,然后向下滚动到名为令牌生成的部分。如果您有现有的页面,请选择一个,或者根据您的意愿创建一个新的。
- 选择您想要创建的页面类型,即社区或商业。
- 提供页面名称和类别。
- 您可以跳过提供个人资料图片等步骤,或选择应用一个。
- 在下一步中,您将看到创建的页面。
- 现在再次转到设置和令牌生成部分,并选择新创建的页面。
- 它会再次提示您进行身份验证。请执行此操作。
- 身份验证后,在令牌生成部分,我们现在看到已生成页面访问令牌。将该令牌复制并保存在某个位置。我们很快就需要它。
- 现在,转到设置->基本,以获取如下所示的应用程序密钥。复制应用程序密钥并将其保存在安全的位置,我们很快就需要它。
- 返回
Dialogflow
控制台的集成部分,并启用 Facebook Messenger 选项。 - 遵循弹出窗口中显示的说明。
- 再次回到 Facebook 的开发者帐户,单击设置。转到Webhook部分,然后单击设置 Webhook,以提供上一步中复制的回调 URL。
- 在新页面订阅中,即单击设置 Webhook 后打开的页面,提供回调 URL 和验证令牌名称,我们之前已存储。选中消息、帖子back 和选项等选项,如下所示。单击验证并保存。
- Webhook 设置完成后,选择页面以订阅 webhook 事件。所以,在那里选择您的 Facebook 页面。
- 单击“订阅”按钮。
- 完成后,返回 Facebook 页面,通过单击如下所示的“添加按钮”按钮添加一个新按钮。
- 为所有步骤提供详细信息,即为我的 Messenger 类型选择“联系我们”功能。选择发送消息的选项。
Facebook 上的实时聊天机器人
在执行完上一节的所有步骤后,我们可以说我们的机器人已成功部署并与我们的 Facebook 页面集成。是时候测试它了。
- 单击新添加的“发送消息”按钮,然后从上下文菜单中单击“测试按钮”。
- 一旦单击测试按钮链接,聊天机器人就会打开,请注意,聊天机器人的名称是CodeBusiness。您可以开始键入您的请求以预订桌子,它将按预期响应。
我们的机器人似乎工作良好。同样,您可以测试我们在 Lex 的BotService上测试过的所有内容,例如与人对话、查看槽位信息等等。您还可以将测试者权限授予希望在看到您的 Facebook 页面时看到此机器人的用户。我觉得这很酷。
部署聊天机器人到 Slack
您也可以在 Slack 中部署和测试聊天机器人。
- 转到 Google
Dialogflow
控制台的集成部分,并启用 Slack。 - 遵循弹出窗口中显示的说明。
- 创建您的新 Slack 应用,并获取需要在此部分填写的详细信息。
- 打开新创建的 Slack 应用并输入“
Hi
”。它将按预期响应。因此,我们得到了来自 webhook 的响应。
万岁!
结论
在这篇详细的文章中,我们学习了如何将使用 Google Dialogflow
API 和 Microsoft Bot Framework 开发的聊天机器人集成到 Facebook 和 Slack 中。该机器人的集成也可以做到其他平台,如 Alexa、Cortana Twilio 等。只是需要去探索和玩转它。