利用 Dialogflow 的 Slack 集成,您可以轻松创建自己的 Slack 应用和聊天机器人并训练它们理解自然语言。
限制
只有 默认代理语言 此集成提供支持。
设置 Slack
要为代理设置 Slack 集成服务,您需要符合以下条件:
- Slack 账号
- Slack 团队
创建 Slack 应用
- 导航到 Slack 开发者控制台
- 输入应用的名称
- 选择您希望与该应用关联的团队
- 点击 Create App 按钮
添加聊天机器人用户
- 点击左侧菜单中的 OAuth & Permissions
- 转到 Scopes 部分,并确保以下 OAuth 范围在“聊天机器人令牌范围”部分 中
- 点击左侧菜单中的 App Home
- 启用 Always Show My Bot as Online,并根据需要修改 App Dislay Name(这是用户将看到的您的聊天机器人)
在 Dialogflow 中启用集成服务
在 Slack 开发者控制台中,点击左侧菜单中的 Basic Information,然后向下滚动到 App Credentials 部分。记下 Client ID、Client Secret 和 Verification Token。
将 Slack 链接到 Dialogflow
- 在 Dialogflow 中,转到左侧菜单中的集成 (Integrations)
- 点击 Slack 图块
- 在以下字段中输入相关值:
- 客户端 ID (Client ID)
- 客户端密钥 (Client Secret)
- 验证令牌 (Verification Token)
- 点击开始 (Start)
继续设置 Slack
现在您已经设置了 Slack 和 Dialogflow,接下来,您将启用 OAuth、事件 请求网址(由 Dialogflow 提供)和活动订阅。
添加 OAuth 网址
- 从 Dialogflow 的 Slack 设置页面复制 OAuth 网址
- 转到 Slack 开发者控制台,点击左侧菜单中的 OAuth & Permissions
- 点击 Add a new Redirect URL 按钮并粘贴 OAuth 网址
- 点击 Add
- 点击 Save URLs 按钮
添加事件请求网址并启用事件订阅
- 从 Dialogflow 的 Slack 设置页面复制事件请求网址
- 转到 Slack 开发者控制台,点击左侧菜单中的 Event Subscriptions
- 点击开关以启用事件,并将事件订阅网址粘贴到
请求网址字段
片刻之后,您应该会看到绿色的“已验证”请求网址上方 字段。 在 Subscribe to Bot Events 下方,点击 Add Bot User Event 按钮
系统会显示文本字段和事件列表。您可以在此字段中输入字词,以搜索您希望聊天机器人响应的事件。下面列出了 我们建议添加的活动:事件名称 事件说明 message.im 消息已在私信频道中发布 message.groups 消息已发布到专用频道 message.channels 消息已发布到频道 im_created 创建了直接消息。在代表用户订阅活动部分下, 点击添加工作区事件按钮,添加 im_created 事件, 然后按保存更改。 更新完这些设置后,点击页面底部的 Save Changes 按钮。
将 Slack 聊天机器人添加到团队中
- 在 Slack 开发者控制台中,点击左侧菜单中的 Manage Distribution
- 在 Share Your App with Your Workplace 部分下方,点击 Add to Slack 按钮
- 在下一页上,点击 Authorize 按钮以添加代理
测试
您可以测试代理而不创建公共 Slack 聊天机器人。为此,请前往代理的集成页面,然后点击 Slack 图块上的开关。在弹出窗口中,点击在 Slack 中测试 (Test In Slack) 按钮。
系统将提示您登录 Slack。登录后,导航到实例并找到名为 @dialogflow-bot 的聊天机器人用户。您可以向代理发送消息来测试代理,或将其添加到实例中的频道。
活动
此集成服务调用以下事件:
事件 | 说明 |
---|---|
SLACK_WELCOME |
当用户开始与 Slack 聊天机器人对话时,即会触发该事件。 |
富响应消息
系统支持下列富响应消息。
图片响应
支持的格式和大小:
- gif
- jpeg
- png
- bmp
卡片响应
Slack 中的卡片没有必填字段,您可以使用任何元素组合。
支持带有网址和文本回传的按钮。带有网址的按钮会显示为超链接。
快速回复响应
一键式 Slack 集成支持快速回复,相当于 Slack 交互式按钮的文本版本。
自定义载荷响应
一键式 Slack 集成中的格式化文本
您的 Slack 聊天机器人可以发送带格式的文本,如以下示例所示:
{ "slack": { "text": "This is an example of *bold*, _italic_, and `code`." } }