Slack

利用 Dialogflow 的 Slack 集成,您可以轻松创建自己的 Slack 应用和聊天机器人并训练它们理解自然语言。

限制

此集成仅支持默认代理语言。

设置 Slack

要为代理设置 Slack 集成服务,您需要符合以下条件:

创建 Slack 应用

  1. 导航到 Slack 开发者控制台
  2. 输入应用的名称
  3. 选择您希望与该应用关联的团队
  4. 点击 Create App 按钮

添加聊天机器人用户

  1. 点击左侧菜单中的 OAuth & Permissions
  2. 转到 Scopes 部分,并确保以下 OAuth 范围在“聊天机器人令牌范围”部分 中
  3. 点击左侧菜单中的 App Home
  4. 启用 Always Show My Bot as Online,并根据需要修改 App Display Name(这是用户将看到的您的聊天机器人)

在 Dialogflow 中启用集成服务

在 Slack 开发者控制台中,点击左侧菜单中的 Basic Information,然后向下滚动到 App Credentials 部分。记下 Client ID、Client Secret 和 Verification Token。

  1. 在 Dialogflow 中,转到左侧菜单中的集成 (Integrations)
  2. 点击 Slack 图块
  3. 在以下字段中输入相关值:
    1. 客户端 ID (Client ID)
    2. 客户端密钥 (Client Secret)
    3. 验证令牌 (Verification Token)
  4. 点击开始 (Start)

继续设置 Slack

现在您已经设置了 Slack 和 Dialogflow,接下来,您将启用 OAuth、事件请求网址(由 Dialogflow 提供)和事件订阅。

添加 OAuth 网址

  1. 从 Dialogflow 的 Slack 设置页面复制 OAuth 网址
  1. 转到 Slack 开发者控制台,点击左侧菜单中的 OAuth & Permissions
  2. 点击 Add a new Redirect 网址 按钮并粘贴 OAuth 网址
  3. 点击 Add
  4. 点击 Save URLs 按钮

添加事件请求网址并启用事件订阅

  1. 从 Dialogflow 的 Slack 设置页面复制事件请求网址
  2. 转到 Slack 开发者控制台,点击左侧菜单中的 Event Subscriptions
  3. 点击开关以启用事件,并将事件订阅网址粘贴到 Request 网址 字段中

    片刻之后,您会在“Request 网址”字段上方看到绿色的“Verified”字样。
  4. 在 Subscribe to Bot Events 下方,点击 Add Bot User Event 按钮

    随即将显示文本字段和事件列表。您可以在此字段中输入字词,以搜索您希望聊天机器人响应的事件。以下是我们建议添加的事件列表:

    事件名称 事件说明
    message.im 消息已在私信频道中发布
    message.groups 消息已发布到专用频道
    message.channels 消息已发布到频道
    im_created 创建了直接消息。在 Subscribe to events on behalf of users 部分下,点击 Add Workspace Event 按钮以添加 im_created 事件,然后按 Save Changes。

  5. 更新完这些设置后,点击页面底部的 Save Changes 按钮。

将 Slack 聊天机器人添加到团队中

  1. 在 Slack 开发者控制台中,点击左侧菜单中的 Manage Distribution
  2. 在 Share Your App with Your Workplace 部分下方,点击 Add to Slack 按钮
  3. 在下一页上,点击 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`."
  }
}