

支援終止通知：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. 在 [http://api.slack.com](http://api.slack.com) 登入 Slack API 主控台。

1. 建立 應用程式。

   在您成功建立應用程式後、Slack 會顯示應用程式的 **Basic Information** (基本資訊) 頁面。

1. 如下設定應用程式功能：

   1. 在左側選單中，選擇**互動與捷徑**。
     + 選擇切換開關以啟用互動式元件。
     + 在 **Request URL** (請求 URL) 方塊中，指定任何有效的 URL。例如，您可以使用 **https://slack.com**.
**注意**  
暫時先輸入任何有效的 URL 以取得下一步驟所需的驗證符記。您將在 Amazon Lex 主控台中新增機器人頻道關聯後更新此 URL。
     + 選擇 **Save Changes** (儲存變更)。

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(**後退 URL** 和 **OAuth URL**)。記錄這些 URL，因為您稍後需要用到。

**將 Slack 應用程式與您的 Amazon Lex 機器人整合**

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/) 開啟 Amazon Lex 主控台。

1. 選擇您在步驟 1 中建立的 Amazon Lex 機器人。

1. 選擇 **Channels** (管道) 索引標籤。

1. 從左側選單中選擇 **Slack**。

1. 在 **Slack** 頁面上，提供以下資訊：
   + 輸入名稱。例如 `BotSlackIntegration`。
   + 從 **KMS key** (KMS 金鑰)下拉式清單中選擇「aws/lex」。
   + 對於 **Alias (別名)**，選擇機器人別名。
   + 輸入您在前面的步驟中記錄的 **Client Id** (用戶端 ID)、**Client secret** (用戶端秘密) 和 **Verification Token** (驗證符記)。這些是 Slack 應用程式的登入資料。  
![\[Slack 組態畫面。\]](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/slack-10a.png)

1. 選擇 **Activate (啟用)**。

   主控台會建立機器人管道關聯時，並傳回兩個 URL (回傳 URL 和 OAuth URL)。將它們記錄下來。您會在下一節更新 Slack 應用程式組態來使用這些端點，如下所示：
   + Postback URL 是接聽 Slack 事件的 Amazon Lex 機器人端點。您可以使用此 URL：
     + 做為 Slack 應用程式的** 事件訂閱**功能中的請求 URL。
     + 來取代 Slack 應用程式的**互動式訊息**功能中請求 URL 的預留位置值。
   + OAuth URL 是 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. 在 [http://api.slack.com](http://api.slack.com) 登入 Slack API 主控台。選擇您在[步驟 3：建立 Slack 簡訊應用程式。](slack-bot-assoc-create-app.md)中建立的應用程式。

1. 依下列方式更新 **OAuth 與許可**功能：

   1. 在左側功能表中，選擇 **OAuth 與許可**。

   1. 在**重新導向 URLs**區段中，新增 Amazon Lex 在上一個步驟中提供的 OAuth URL。選擇 **Add a new Redirect URL** (新增重新導向 URL)，然後選擇 **Save URLs** (儲存 URL)。

   1. 在**機器人字符範圍**區段中，使用新增 **OAuth 範圍按鈕新增**兩個許可。以下列文字篩選清單：
      + **chat:write**
      + **team:read**

1. 透過將**請求 URL** 值更新為 Amazon Lex 在上一個步驟中提供的後退 URL 來更新**互動性和捷徑**功能。輸入您在步驟 4 中儲存的回傳 URL，然後選擇 **Save Changes (儲存變更)**。

1. 依下列方式訂閱**事件訂閱**功能：
   + 選擇 **On** (開) 選項來啟用事件。
   + 將**請求 URL** 值設定為 Amazon Lex 在上一個步驟中提供的後退 URL。
   + 在 **Subscribe to Bot Events** (訂閱機器人事件) 區段中，訂閱 `message.im` 機器人事件，以啟用最終使用者與 Slack 機器人之間的直接簡訊。
   + 儲存變更。

1. 從訊息索引標籤啟用傳送訊息，如下所示：
   + 從左側選單中，選擇**應用程式首頁**。
   + 在**顯示標籤**區段中，選擇**允許使用者從訊息索引標籤傳送斜線命令和訊息。**



**後續步驟**  
[步驟 6：測試整合](slack-bot-test.md)

# 步驟 6：測試整合
<a name="slack-bot-test"></a>

現在請使用瀏覽器視窗來測試 Slack 與 Amazon Lex 機器人的整合。

1. 選擇 **Settings** (設定) 下的 **Manage Distribution** (管理分佈)。選擇 **Add to Slack** (新增到 Slack) 以安裝應用程式。授權機器人以回應訊息。

1. 您會被重新導向您的 Slack 團隊。在左側功能表的 **Direct Messages** (直接訊息) 區段中，選擇您的機器人。如果您沒有看到您的機器人，選擇 **Direct Messages** (直接訊息) 旁邊的加號圖示 (\$1) 來搜尋。

1. 與連結到 Amazon Lex 機器人的 Slack 應用程式進行聊天。您的機器人現在可回應訊息。

   如果您使用入門練習 1 建立了機器人，可以使用該練習中提供的範例對話。如需詳細資訊，請參閱[步驟 4：將 Lambda 函數新增為 Code Hook （主控台）](gs-bp-create-integrate.md)。