

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Amazon Lex V2 机器人与 Slack 集成
<a name="deploy-slack"></a>

本主题提供有关将 Amazon Lex V2 机器人与 Slack 消息收发应用程序集成的指南。请执行下列步骤：

**Topics**
+ [第 1 步：注册 Slack 并创建 Slack 团队](slack-step-1.md)
+ [第 2 步：创建 Slack 应用程序](slack-step-2.md)
+ [第 3 步：将 Slack 应用程序与 Amazon Lex V2 机器人集成](slack-step-3.md)
+ [步骤 4：完成 Slack 与 Lex V2 机器人的集成](slack-step-4.md)
+ [步骤 5：测试 Lex V2 机器人与 Slack 的集成](slack-step-5.md)

# 第 1 步：注册 Slack 并创建 Slack 团队
<a name="slack-step-1"></a>

注册 Slack 账户并创建 Slack 团队。有关说明，请参阅[使用 Slack](https://get.slack.help/hc/en-us/articles/212675257-Creating-a-Slack-account)。在下一部分中，您将创建可供所有 Slack 团队安装的 Slack 应用程序。

## 后续步骤
<a name="slack-step-1-next"></a>

[第 2 步：创建 Slack 应用程序](slack-step-2.md)

# 第 2 步：创建 Slack 应用程序
<a name="slack-step-2"></a>

请在此部分中执行以下操作：

1. 在 Slack API 控制台中创建 Slack 应用程序。

1. 配置该应用程序，以将交互式消息收发功能添加到机器人中。

有关应用程序凭证（客户端 ID、客户端密钥和验证令牌），请参见本节结尾。在下一步中，您将使用此信息将机器人集成到 Amazon Lex V2 控制台中。

**要创建 Slack 应用程序，请执行以下操作：**

1. 登录 Slack API 控制台，网址为[https://api.slack.com](https://api.slack.com)。

1. 创建应用程序。

   在您成功创建应用程序以后，Slack 会显示应用程序的 **Basic Information** 页面。

1. 按如下所示配置应用程序的功能：

   1. 在左侧菜单中，选择**互动性和快捷方式**。
     + 选择打开交互式组件的开关。
     + 在 **Request URL** 框中，指定任何有效的 URL。例如，您可以使用 **https://slack.com**。
**注意**  
目前，请输入任何有效的 URL，以便获得在下一步中需要的验证令牌。您在 Amazon Lex 控制台中添加机器人通道关联后，将需要更新此 URL。
     + 选择**保存更改**。

1. 在左侧菜单的 **Settings** 中，选择 **Basic Information**。记录以下应用程序凭证：
   + 客户端 ID 
   + 客户端密钥
   + 验证令牌 

## 后续步骤
<a name="slack-step-2-next"></a>

[第 3 步：将 Slack 应用程序与 Amazon Lex V2 机器人集成](slack-step-3.md)

# 第 3 步：将 Slack 应用程序与 Amazon Lex V2 机器人集成
<a name="slack-step-3"></a>

 在本节中，将您创建的 Slack 应用程序与您使用频道集成创建的 Amazon Lex V2 机器人集成。

1. 登录 AWS 管理控制台并通过以下网址打开 Amazon Lex 控制台[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)。

1. 从机器人列表中选择您创建的 Amazon Lex V2 机器人。

1. 在左侧菜单中，选择**频道集成**，然后选择**添加频道**。

1. 在**创建频道**中，执行以下操作：

   1. 对于**平台**，请选择 **Slack**。

   1. 对于**身份策略**，请选择保护频道信息的 AWS KMS 密钥。默认密钥是 Amazon Lex V2 提供的密钥。

   1. 对于**集成配置**，指定频道的名称和描述（可选）。选择指向要使用的机器人版本的别名，然后选择该频道支持的语言。
**注意**  
 如果您的机器人支持多种语言，则必须为每种语言创建不同的频道以及不同的应用程序。

   1. 对于**其他配置**，输入以下内容：
      + **客户端 ID**：输入来自 Slack 的客户端 ID。
      + **客户端密钥**：输入 Slack 的客户端密钥。
      + **验证令牌**：输入来自 Slack 的验证令牌。
      + **成功页面 URL**：用户通过身份验证后 Slack 应打开的页面的 URL。通常，此项可留空。

1. 选择**创建**以创建频道。

1. Amazon Lex V2 会显示您的机器人的频道列表。从列表中选择您刚刚创建的频道。

1. 在回**调 URL** 中，记录端点和 OAuth 端点。

## 后续步骤
<a name="slack-step-3-next"></a>

[步骤 4：完成 Slack 与 Lex V2 机器人的集成](slack-step-4.md)

# 步骤 4：完成 Slack 与 Lex V2 机器人的集成
<a name="slack-step-4"></a>

在本部分中，使用 Slack API 控制台完成与 Slack 应用程序的集成。

1. 登录 Slack API 控制台，网址为[https://api.slack.com](https://api.slack.com)。选择您在[第 2 步：创建 Slack 应用程序](slack-step-2.md)中创建的应用程序。

1. 按如下方式更新 **“OAuth 和权限”** 功能：

   1. 在左侧菜单中，选择**OAuth 和权限**。

   1. 在**重定向 URLs**部分中，添加 Amazon Lex 在上一步中提供的 OAuth 终端节点。选择 **Add**，然后选择 **Save URLs**。

   1. 在 **Bot Token Scopes** 部分中，使用**添加 OAuth 作用域**按钮添加两个权限。用以下文本筛选列表：
      + **chat:write**
      + **team:read**

1. 通过将**请求 URL** 值更新为 Amazon Lex 在上一步中提供的端点来更新**互动性和快捷方式**功能。输入您在第 3 步中保存的端点，然后选择**保存更改**。

1. 按如下所述订阅 **Event Subscriptions** 功能：
   + 通过选择 **On** 选项启用事件。
   + 将**请求 URL** 值设置为 Amazon Lex 在上一步中提供的端点。
   + 在**订阅机器人事件**部分中，选择**添加机器人用户事件**，然后添加 **message.im** 机器人事件，以便启用最终用户与 Slack 机器人之间的直接消息收发。
   + 保存更改。

1. 启用从消息选项卡发送消息，如下所示：
   + 从左侧菜单中，选择**应用程序主页**。
   + 在**显示选项卡**部分中，选择**允许用户从消息选项卡中发送 Slash 命令和消息**。

1. 在**设置**下选择**管理分发**。选择 **Add to Slack** 以安装应用程序。如果您已通过多个工作区的身份验证，请先从右上角的下拉列表中选择正确的工作区。接下来，选择**允许**以授权机器人回复消息。
**注意**  
如果您后期对 Slack 应用程序设置进行任何更改，则必须重新执行此子步骤。

## 后续步骤
<a name="slack-step-4-next"></a>

[步骤 5：测试 Lex V2 机器人与 Slack 的集成](slack-step-5.md)

# 步骤 5：测试 Lex V2 机器人与 Slack 的集成
<a name="slack-step-5"></a>

现在，使用浏览器窗口来测试 Slack 与 Amazon Lex V2 机器人的集成。

**要测试您的 Slack 应用程序，请执行以下操作：**

1. 打开 Slack。在左侧菜单的**直接消息**部分中，选择您的机器人。如果看不到您的自动程序，请选择 **Direct Messages** 旁边的加号图标（\$1）进行搜索。

1. 使用您的 Slack 应用程序进行聊天。您的机器人会对消息做出响应。

   如果您是使用 [练习 1：使用模板创建聊天机器人](exercise-1.md) 创建的机器人，可以使用该练习中的示例对话。