跳至內容

自訂聊天機械人

本指南說明如何在不離開 Control Center 的情況下,重塑提供方一側的機械人應用程式。

  • 工作區中的 owner 或 admin 角色
  • 一個已連接的提供方。只有工作區連接後,自訂機械人一列才會出現
  • 一個 Control Center 能管理的應用程式。就 Slack 而言,這代表連接持有應用程式設定的更新權杖(xoxe-…);若沒有,該列會顯示這一點並保持停用狀態
欄位 含義 限制
應用程式名稱 提供方列出該應用程式時顯示的名稱 1–35 個字元
機械人名稱(成員在 @ 後面輸入的名稱) 成員在 @ 後輸入的內容 1–80 個字元
簡短描述 提供方顯示的一行文字 最多 140 個字元
機械人自述的能力 顯示在與機械人的私訊上方 最多 300 個字元
斜線指令 成員叫用的指令,不含斜線 轉為小寫,只允許 a–z 0–9 _ -,超過 32 個字元會截斷
私訊 機械人是否提供私訊/代理體驗 開啟或關閉

Control Center 會在呼叫提供方之前先驗證這四個文字欄位,因此你會看到「the app name must be between 1 and 35 characters」,而不是來自你看不見的伺服器那晦澀難懂的 invalid_manifest。指令不會被拒絕,而是會被正規化:開頭的斜線會被移除,其餘部分轉為小寫,a–z 0–9 _ - 以外的內容會被丟棄,若結果為空則回退為 cc。

  1. 前往 設定 → 工作區 → 一般,並捲動至 聊天橋接 卡片
  2. 在提供方區塊上,點擊 自訂機械人
  3. 對話框會以應用程式的即時值開啟,這些值是從提供方讀回的——因此某人曾在 Slack 本身介面中所作的變更,就是你開始時的狀態
  4. 編輯你需要改動的部分並儲存

讀取這些即時值會在 Slack 一方觸發一次權杖輪換,這正是為什麼這一列需要刻意點擊,而不是在你載入頁面時自動執行的事情。

寫入會把你的變更疊加到應用程式目前的定義上。Control Center 沒有建模的任何東西——你在 Slack 中加入的第二條斜線指令、一個工作流程步驟、一項無關的設定——都會原封不動地保留下來。範圍與事件只會被併入,永遠不會被扣減。

儲存後,Control Center 會重新讀取機械人的身分,讓設定中的名稱與聊天應用程式中的名稱一致。

當儲存改變了權限,對話框會保持開啟,並顯示「Slack 已變更應用程式的權限。請重新安裝應用程式才能生效」,同時附有一個 重新安裝應用程式 按鈕,開啟該應用程式在 Slack 的團隊安裝頁面。在 Slack 中,那就是 Install App → Reinstall to Workspace。

更改 斜線指令 並儲存。之後橋接會以它最後一次被叫用時所用的指令來撰寫指示,因此說明文字與連結指示會跟隨這次改名,而不是指名一條已不存在的指令。

改名不會破壞既有的已橋接討論串:討論串是以對話作為鍵,而不是以指令作為鍵。

  • 結構性設定。 傳輸方式(Socket Mode)、必要的範圍與事件訂閱都是強制指定的,而不是可供選擇的。一個能從設定畫面被設定到沉默的應用程式,是一張支援工單,而不是一項功能
  • 機械人的圖示。 只有提供方自身的應用程式設定能更改它,對話框也會如此說明
  • 提供方自身的功能遷移。 已經採用 Slack 舊式助理形態的應用程式會維持該形態;這個對話框編輯的是描述,並不會遷移應用程式

工作區尚未連接。只有當提供方區塊顯示出存活的連接後,這一列才會出現。參見設定 Slack 整合。

連接沒有應用程式管理憑證——這一列的副標題會顯示 「Control Center 需要應用程式設定權杖才能編輯機械人。請重新連接並一併提供。」。就 Slack 而言,請在 api.slack.com/apps 產生一對應用程式設定權杖,並在填入更新權杖後 重新連接。對於以手動方式建立,或經 Create in Slack 建立的應用程式而言, 這是預期之內的情況,因為 Slack 從不報告它建立了哪個應用程式。

「Control Center does not know which app to edit」

標題為「「Control Center does not know which app to edit」」的章節

儲存的連接不帶任何應用程式 id——通常是某個應用程式在 id 被記錄之前以手動方式連接。請重新連接工作區,或從 Control Center 建立該應用程式。

提供方會短暫快取應用程式中繼資料。若一分鐘後名稱仍然過時,請檢查儲存時有否要求你重新安裝應用程式。