

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將 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：完成與 Lex V2 機器人的 Slack 整合](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. 在 https：//[https://api.slack.com ](https://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 
   + 用戶端密碼
   + 驗證符記 

## 下一步驟
<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 管理主控台，並在 [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)：// 開啟 Amazon 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：完成與 Lex V2 機器人的 Slack 整合](slack-step-4.md)

# 步驟 4：完成與 Lex V2 機器人的 Slack 整合
<a name="slack-step-4"></a>

在本節中，使用 Slack API 主控台來完成與 Slack 應用程式的整合。

1. 在 https：//[https://api.slack.com](https://api.slack.com) 登入 Slack API 主控台。選擇您在[步驟 2：建立 Slack 應用程式](slack-step-2.md)中建立的應用程式。

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

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

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

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

1. 將**請求 URL** 值更新為 Amazon Lex 在上一個步驟中提供的端點，以更新**互動與捷徑**功能。輸入您在步驟 3 中儲存的端點，然後選擇**儲存變更**。

1. 依下列方式訂閱**事件訂閱**功能：
   + 選擇 **On** (開) 選項來啟用事件。
   + 將**請求 URL** 值設定為 Amazon Lex 在上述步驟中提供的端點。
   + 在**訂閱機器人事件**區段中，選取**新增機器人使用者事件**並新增**message.im**機器人事件，以在最終使用者和 Slack 機器人之間啟用直接傳訊。
   + 儲存變更。

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

1. 選擇 **Settings** (設定) 下的 **Manage Distribution** (管理分佈)。選擇 **Add to Slack** (新增到 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)，您可以使用該練習中的範例對話。