

终止支持通知：2025年9月15日， AWS 我们将停止对Amazon Lex V1的支持。2025 年 9 月 15 日之后，您将无法再访问 Amazon Lex V1 控制台或 Amazon Lex V1 资源。如果您使用的是 Amazon Lex V2，请改为参阅 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

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

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

本练习提供有关将 Amazon Lex 机器人与 Slack 消息收发应用程序集成的说明。请执行下列步骤：

1. 创建 Amazon Lex 机器人。

1. 创建 Slack 消息收发应用程序。

1. 将 Slack 应用程序与您的 Amazon Lex 机器人集成。

1. 通过与您的 Amazon Lex 机器人进行对话来测试集成。您将使用 Slack 应用程序发送消息，并在浏览器窗口中进行测试。

**Topics**
+ [步骤 1：创建 Amazon Lex 机器人](slack-bot-assoc-create-bot.md)
+ [步骤 2：注册 Slack 并创建 Slack 团队](slack-bot-assoc-create-team.md)
+ [步骤 3：创建 Slack 应用程序](slack-bot-assoc-create-app.md)
+ [步骤 4：将 Slack 应用程序与 Amazon Lex 机器人集成](slack-bot-assoc-create-assoc.md)
+ [步骤 5：完成 Slack 集成](slack-bot-back-in-slack-console.md)
+ [步骤 6：测试集成](slack-bot-test.md)

# 步骤 1：创建 Amazon Lex 机器人
<a name="slack-bot-assoc-create-bot"></a>

如果您还没有 Amazon Lex 机器人，请创建并部署一个。在本主题中，我们假定您使用的是您在入门练习 1 中创建的自动程序。但是，您可以使用本指南中提供的任何示例自动程序。有关入门练习 1，请参阅 [练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)

1. 创建 Amazon Lex 机器人。有关说明，请参阅[练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)。

1. 部署此自动程序并创建别名。有关说明，请参阅[练习 3：发布版本和创建别名](gettingstarted-ex3.md)。

**下一个步骤**  
[步骤 2：注册 Slack 并创建 Slack 团队](slack-bot-assoc-create-team.md)

# 步骤 2：注册 Slack 并创建 Slack 团队
<a name="slack-bot-assoc-create-team"></a>

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

**下一个步骤**  
[步骤 3：创建 Slack 应用程序](slack-bot-assoc-create-app.md)

# 步骤 3：创建 Slack 应用程序
<a name="slack-bot-assoc-create-app"></a>

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

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

1. 配置该应用程序，以将交互式消息收发功能添加到自动程序中：

在本部分结束时，您将获得应用程序凭证 (客户端 ID、客户端密钥和验证令牌)。在下一节中，您将使用这些信息在 Amazon Lex 控制台中配置机器人通道关联。

1. 通过以下网址登录 Slack API 控制台：[http://api.slack.com](http://api.slack.com)。

1. 创建应用程序。

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

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

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

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

**下一个步骤**  
[步骤 4：将 Slack 应用程序与 Amazon Lex 机器人集成](slack-bot-assoc-create-assoc.md)

# 步骤 4：将 Slack 应用程序与 Amazon Lex 机器人集成
<a name="slack-bot-assoc-create-assoc"></a>

现在，您已经有了 Slack 应用程序凭证，可以将该应用程序与您的 Amazon Lex 机器人集成了。要将 Slack 应用程序与您的机器人关联，需要在 Amazon Lex 中添加机器人通道关联。

在 Amazon Lex 控制台中，激活一个机器人通道关联，以将机器人与您的 Slack 应用程序关联。激活机器人频道关联后，Amazon Lex 会返回两个 URLs（**回发网址和网OAuth****址**）。把它们录下来， URLs 因为你以后需要它们。

**将 Slack 应用程序与您的 Amazon Lex 机器人集成**

1. 登录 AWS 管理控制台，然后在上打开 Amazon Lex 控制台[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)。

1. 选择您在步骤 1 中创建的 Amazon Lex 机器人。

1. 选择 **Channels** 选项卡。

1. 在左侧菜单中，选择 **Slack**。

1. 在 **Slack** 页面上，提供以下值：
   + 键入名称。例如 `BotSlackIntegration`。
   + 从 **KMS key** 下拉列表中选择“aws/lex”。
   + 对于 **Alias**，选择自动程序别名。
   + 键入您在前面的步骤中记录的 **Client Id**、**Client secret** 和 **Verification Token**。这些是 Slack 应用程序的凭证。  
![\[Slack 配置屏幕。\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/slack-10a.png)

1. 选择**激活**。

   控制台创建机器人频道关联并返回两个 URLs （回发网址和网 OAuth 址）。记录这些 URL。在下一部分中，您将更新您的 Slack 应用程序配置以使用这些终端节点，如下所示：
   + Postback URL 是侦听 Slack 事件的 Amazon Lex 机器人端点。您可以使用此 URL：
     + 作为 Slack 应用程序的 **Event Subscriptions** 功能中的请求 URL。
     + 在 Slack 应用程序的 **Interactive Messages** 功能中替换请求 URL 的占位符值。
   +  OAuth 网址是你的 Amazon Lex 机器人与 Slack OAuth 握手的终端节点。

**下一个步骤**  
[步骤 5：完成 Slack 集成](slack-bot-back-in-slack-console.md)

# 步骤 5：完成 Slack 集成
<a name="slack-bot-back-in-slack-console"></a>

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

1. 通过以下网址登录 Slack API 控制台：[http://api.slack.com](http://api.slack.com)。选择您在[步骤 3：创建 Slack 应用程序](slack-bot-assoc-create-app.md)中创建的应用程序。

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

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

   1. 在**重定向 URLs**部分中，添加 Amazon Lex 在上一步中提供的 OAuth 网址。选择 “**添加新的重定向 URL**”，然后选择 “**保存**” URLs。

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

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

1. 按如下所述订阅 **Event Subscriptions** 功能：
   + 通过选择 **On** 选项启用事件。
   + 将**请求 URL** 值设置为 Amazon Lex 在上一步中提供的 Postback URL。
   + 在 **Subscribe to Bot Events** 部分中，订阅 `message.im` 自动程序事件以在最终用户和 Slack 自动程序之间启用直接消息收发。
   + 保存更改。

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



**下一个步骤**  
[步骤 6：测试集成](slack-bot-test.md)

# 步骤 6：测试集成
<a name="slack-bot-test"></a>

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

1. 在**设置**下，选择**管理分发**。选择 **Add to Slack** 以安装应用程序。授权自动程序对消息做出响应。

1. 您将被重定向到 Slack 团队。在左侧菜单的 **Direct Messages** 部分中，选择您的自动程序。如果看不到您的自动程序，请选择 **Direct Messages** 旁边的加号图标（\$1）进行搜索。

1. 使用您的 Slack 应用程序进行聊天，该应用程序链接到了 Amazon Lex 机器人。现在，您的自动程序会响应消息。

   如果您是使用入门练习 1 创建的自动程序，可以使用该练习中提供的示例对话。有关更多信息，请参阅 [步骤 4：将 Lambda 函数添加为代码挂钩（控制台）](gs-bp-create-integrate.md)。