Slack

Dialogflow Slack 整合可讓您輕鬆建立自己的 Slack 應用程式和機器人,並訓練 Slack 應用程式和機器人理解自然語言。

限制

這項整合功能只支援預設代理程式語言

設定 Slack

如要為您的代理程式設定 Slack 整合,您必須符合以下條件:

建立 Slack 應用程式

  1. 前往 Slack Developer Console
  2. 輸入應用程式的名稱
  3. 選擇要與應用程式連結的團隊
  4. 按一下「Create App」(建立應用程式) 按鈕

新增機器人使用者

  1. 按一下左側選單中的「OAuth & Permissions」
  2. 前往「範圍」部分,確認下列 OAuth 範圍位於「機器人權杖範圍」部分
  3. 按一下左側選單中的「應用程式首頁」
  4. 啟用「Always Show My Bot as Online」(持續顯示我的機器人狀態為線上),並視需要編輯「App Display Name」(應用程式顯示名稱) (使用者會看到這個機器人名稱)

在 Dialogflow 中啟用整合功能

在 Slack Developer Console 中,按一下左側選單中的「基本資訊」,然後向下捲動至「應用程式憑證」部分。然後記下「Client ID」(用戶端 ID)、「Client Secret」(用戶端密鑰) 和「Verification Token」(驗證憑證)

  1. 在 Dialogflow 的左側選單中,按一下 [Integrations] (整合)
  2. 按一下 [Slack] 圖塊
  3. 在下列欄位中輸入相關值:
    1. 用戶端 ID
    2. 用戶端密碼
    3. 驗證權杖
  4. 按一下「開始」

繼續設定 Slack

Slack 和 Dialogflow 現已設定完成,接著請啟用 OAuth、事件要求網址 (由 Dialogflow 提供) 和事件訂閱。

新增 OAuth 網址

  1. 從 Dialogflow 的 Slack 設定頁面複製 OAuth 網址
  1. 前往 Slack Developer Console,然後按一下左側選單中的 [OAuth & Permissions]
  2. 按一下 [Add a new Redirect URL] 按鈕,然後貼上 OAuth 網址
  3. 按一下「新增」
  4. 按一下「儲存網址」按鈕

新增事件要求網址並啟用事件訂閱

  1. 從 Dialogflow 的 Slack 設定頁面複製事件要求網址
  2. 前往 Slack Developer Console,然後按一下左側選單中的 [Event Subscriptions]
  3. 按一下切換按鈕來啟用事件,並在「Request URL」欄位中貼上事件訂閱網址

    經過一段時間後,要求網址欄位上方會顯示綠色的「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」(新增 Workspace 事件) 按鈕,新增 im_created 事件,然後按一下「Save Changes」(儲存變更)

  5. 更新完這些設定後,請按一下頁面底部的「儲存變更」按鈕。

將 Slack 機器人新增至團隊

  1. 在 Slack Developer Console 中,按一下左側選單中的 [Manage Distribution]
  2. 在「Share Your App with Your Workplace」部分底下,按一下「Add to Slack」按鈕
  3. 在下一個頁面,按一下「授權」按鈕來新增代理程式

測試

您可以測試代理程式,而不建立公開 Slack 機器人,如要啟用,請前往代理程式的「Integrations」(整合) 頁面,然後點選「Slack」圖塊中的切換按鈕。接著在彈出式視窗中,按一下「Test In Slack」(在 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`."
  }
}