Dialogflow Slack 整合可讓您輕鬆建立自己的 Slack 應用程式和機器人,並訓練 Slack 應用程式和機器人理解自然語言。
限制
這個整合作業僅支援預設的服務機器人語言。
設定 Slack
如要為您的代理程式設定 Slack 整合,您必須符合以下條件:
- 具備 Slack 帳戶
- 具備 Slack 團隊
建立 Slack 應用程式
- 前往 Slack Developer Console
- 輸入應用程式的名稱
- 選擇要與應用程式連結的團隊
- 按一下「Create App」按鈕
新增機器人使用者
- 按一下左側選單中的「OAuth & Permissions」
- 前往「範圍」部分,確認「Bot 權杖範圍」部分包含下列 OAuth 範圍:
- 按一下左選單中的「應用程式首頁」
- 啟用「Always Show My Bot as Online」,並視需要編輯「App Display Name」 (使用者會看到這個名稱)
在 Dialogflow 中啟用整合功能
在 Slack Developer Console 中,按一下左側選單中的「Basic Information」,然後向下捲動至「App Credentials」部分,然後記下「Client ID」(用戶端 ID)、「Client Secret」(用戶端密鑰) 和「Verification Token」(驗證憑證)。
將 Slack 連結至 Dialogflow
- 在 Dialogflow 的左側選單中,按一下 [Integrations] (整合)
- 按一下 [Slack] 圖塊
- 在下列欄位中輸入相關值:
- 用戶端 ID
- 用戶端密碼
- 驗證權杖
- 按一下「開始」
繼續設定 Slack
Slack 和 Dialogflow 現已設定完成,接著請啟用 OAuth、事件要求網址 (由 Dialogflow 提供) 和事件訂閱。
新增 OAuth 網址
- 從 Dialogflow 的 Slack 設定頁面複製 OAuth 網址
- 前往 Slack Developer Console,然後按一下左側選單中的 [OAuth & Permissions]
- 按一下 [Add a new Redirect URL] 按鈕,然後貼上 OAuth 網址
- 按一下「新增」
- 按一下「儲存網址」按鈕
新增事件要求網址並啟用事件訂閱
- 從 Dialogflow 的 Slack 設定頁面複製「事件要求網址」
- 前往 Slack Developer Console,然後按一下左側選單中的 [Event Subscriptions]
- 按一下切換按鈕來啟用事件,並在「Request URL」欄位中貼上事件訂閱網址
經過一段時間後,要求網址欄位上方會顯示綠色的「Verified」(已驗證) 字樣。 在「Subscribe to Bot Events」下方,按一下「Add Bot User Event」按鈕
畫面上會顯示文字欄位和事件清單。您可以在這個欄位中輸入字詞,搜尋要讓機器人回應的事件。以下是建議新增的事件清單:事件名稱 事件說明 message.im 訊息已發佈至即時訊息管道 message.groups 訊息已發佈至私人管道 message.channels 訊息已發佈至某個管道 im_created 已建立即時訊息。 在「代表使用者訂閱事件」部分下方,按一下「新增工作區事件」按鈕來新增 im_created 事件,然後按一下「儲存變更」。 更新完這些設定後,請按一下頁面底部的「儲存變更」按鈕。
將 Slack 機器人新增至團隊
- 在 Slack Developer Console 中,按一下左側選單中的 [Manage Distribution]
- 在「Share Your App with Your Workplace」部分底下,按一下「Add to Slack」按鈕
- 在下一頁中,按一下「授權」按鈕,即可新增代理人
測試
您可以測試代理程式,而不建立公開 Slack 機器人,如要這樣做,請前往代理程式的「Integrations」頁面,然後點選「Slack」圖塊上的切換鈕。接著在彈出式視窗中,按一下「Test In 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`." } }