如何構建 Slack 機器人
已發表: 2022-01-29Slack 從根本上改變了團隊、辦公室和整個組織內的員工相互溝通和協作的方式。 自定義公司的 Slack 有多種方法,但除了使用渠道、GIF 文件、應用程序集成和反應表情符號之外,增強 Slack 體驗的最動態方法是使用機器人。
部分聊天機器人界面和部分自動化動作引擎,Slack 機器人有大量的潛在用途。 在特定渠道中,Slack 機器人目錄中當前可用的 100 多個機器人可以想出任何東西,從民意調查、調查或時間跟踪表格到消息分析、午餐訂單和餐廳推薦——所有這些都通過快速直接消息 (DM)或斜線命令。
許多商業軟件提供商,包括 SurveyMonkey 和 Zenefits(訪問 Zenefits 的站點)已經構建了可以在 Slack 中啟用的機器人。 但是您不必等待其他人來構建您的組織需要的 Slack 機器人。 通過使用 Slack 的開發人員資源、文檔和教程,您可以讓公司指導您構建自己的 Slack 機器人。
PCMag 與 Slack 開發人員關係主管 Amir Shevat 和 Slack 高級開發人員關係經理 John Agan(訪問 Zenefits 的網站)討論瞭如何從頭開始構建 Slack 機器人。 該過程需要一些相當多的開發人員知識,但 Shevat 和 Agan 向我們介紹了所有企業都可以關聯的兩個簡單的機器人創建場景:構建基本的幫助台機器人和啟用頻道內通知。 繼續閱讀有關如何構建您自己的 Slack 機器人的分步說明。
1. 1. 創建一個新的 Slack 應用程序
首先,從您的 Slack 客戶端打開左側導航菜單,然後單擊“應用程序和集成”。 在 App Directory 的右上角,單擊“構建”。 這會將您帶到 Slack 應用程序編程接口 (API),您可以在其中單擊頁面中心的“開始構建”。 為您的應用程序命名(在本例中為 Helpdesk),選擇您要在其中部署應用程序的團隊,然後單擊“創建應用程序”。
這會將您帶到應用程序的基本信息頁面。 要進行額外的自定義,請向下滾動到顯示信息框,您可以在其中添加描述、更改背景顏色以及為即將成為機器人的圖標添加圖標。 例如,對於 Helpdesk 機器人,Agan 將機器人表情符號作為其圖標。
這會將您帶到應用程序的基本信息頁面。 要進行額外的自定義,請向下滾動到顯示信息框,您可以在其中添加描述、更改背景顏色以及為即將成為機器人的圖標添加圖標。 例如,對於 Helpdesk 機器人,Agan 將機器人表情符號作為其圖標。
2. 2. 編寫機器人的消息
現在您已經創建了應用程序,Slack API 為您提供了許多選項來開始自定義它的功能。 對於我們的幫助台應用程序,我們正在構建一個機器人,可以輕鬆代表您提交幫助台票證。 首先,Slack 的 Agan 說您需要編寫用戶輸入斜杠命令時將出現的消息。
在 Slack API 菜單的 Messages 部分中,選擇 Message Builder 工具。 這為您提供了一些預先格式化的 JSON 代碼,並為您提供了一個空間供您寫入,然後預覽您的文本。 對於這個機器人,Agan 輸入,“你想提交這張幫助台票嗎?”
當用戶單擊“創建”以提交其幫助台票證時,將顯示此確認消息。 因此,在文本旁邊,Agan 為 :white_check_mark: 添加了命令,為 Slack 用戶提供一個綠色複選標記表情符號,以確認他們的票證已提交。 就這樣,您已經編寫了機器人的自動消息代碼。 把它放在手邊,因為你稍後會需要它。
在 Slack API 菜單的 Messages 部分中,選擇 Message Builder 工具。 這為您提供了一些預先格式化的 JSON 代碼,並為您提供了一個空間供您寫入,然後預覽您的文本。 對於這個機器人,Agan 輸入,“你想提交這張幫助台票嗎?”
當用戶單擊“創建”以提交其幫助台票證時,將顯示此確認消息。 因此,在文本旁邊,Agan 為 :white_check_mark: 添加了命令,為 Slack 用戶提供一個綠色複選標記表情符號,以確認他們的票證已提交。 就這樣,您已經編寫了機器人的自動消息代碼。 把它放在手邊,因為你稍後會需要它。
3. 3. 添加通知
Agan 和 Shevat 提供了單獨的演示,但 Shevat 解釋說,自開放該功能以來,Slack 看到的最常見的機器人集成之一是從第三方服務中提取通知的機器人。 這可能是來自 Salesforce(訪問 Salesforce.com 的站點)的每週銷售報告,或者在這種情況下,來自機器人正在為其創建工單的幫助台平台。
4. 4. 激活傳入 Webhook
要在您的幫助台機器人中添加通知(Shevat 通過一個名為“ReportBot”的單獨示例演示了這些步驟),您首先必須啟用傳入的 Webhook。 Webhook 是一個簡單的 HTTP 回調,它在觸發特定操作時將消息發佈到 URL。
為此,請返回 Slack API 的基本信息頁面。 第一個框顯示“添加特性和功能”。 選擇“傳入 Webhook”選項。 激活傳入 Webhook 頁面的右上角是一個滑塊按鈕。 單擊它可將按鈕從關閉切換到開啟。
為此,請返回 Slack API 的基本信息頁面。 第一個框顯示“添加特性和功能”。 選擇“傳入 Webhook”選項。 激活傳入 Webhook 頁面的右上角是一個滑塊按鈕。 單擊它可將按鈕從關閉切換到開啟。
5. 5. 授權頻道通知
激活 Webhook 後,向下滾動並單擊“將新 Webhook 添加到團隊”。 您將被要求選擇您希望機器人發布自動通知的頻道。 在此示例中,Shevat 選擇了#general,但在這種情況下,您可能希望將此通知發佈到您的幫助台團隊或 IT 部門的頻道。 因此,不僅會在您的幫助台平台中創建新工單,還會向 IT 部門的 Slack 頻道發送自動通知以通知他們工單。 選擇頻道後,點擊“授權”。
6. 6. 自定義您的 Webhook
授權後,您將在頁面上看到一個基本的 Webhook URL 和一個複制它的按鈕。 上面是您的示例 curl 請求,您可以將其複製到文本編輯器以說出您想要的任何內容。 在這種情況下,您可能希望在“提交新的幫助台工單”或任何準確描述您希望機器人發送的通知中寫下“Hello, World”,而不是“Hello, World”。 從這裡,您可以獲取 curl 請求代碼和 Webhooks URL 並在任何腳本中運行它。 您在下一步中也將需要此代碼。
7. 7. 構建你的機器人
現在您已經編寫好消息代碼並方便地使用 Webhooks URL,您已準備好構建您的機器人。 大多數 Slack 集成都需要服務器來響應和啟動請求,尤其是在涉及自動機器人邏輯和斜線命令時。 Slack 支持許多提供商,但 Agan 使用名為 Glitch 的服務構建了幫助台機器人。
此步驟需要一些編碼專業知識。 Agan 創建了一個新的 Glitch 項目,然後開始添加一些開源 JavaScript 代碼。 如果您不想自己編寫所有代碼(或重新發明輪子),那麼您可以從無數機器人框架和庫中進行選擇來導入您的基本機器人邏輯。
Agan 將他的項目命名為“Index.js”,添加了一個他自己構建的名為 TinySpeck 的包,然後粘貼到我們之前編寫的 Message Builder 代碼中。 有了主要的機器人代碼,他只需添加一個回調命令即可觸發新工單和“已創建幫助台工單”確認消息。 而已。 如果您想添加 Webhooks 代碼以在您指定的頻道中觸發通知,那麼您也可以將其粘貼到此處。 Glitch 會為您的機器人服務器創建一個唯一的 URL,因此在您添加所有代碼後復制該 URL,我們將繼續下一步。
此步驟需要一些編碼專業知識。 Agan 創建了一個新的 Glitch 項目,然後開始添加一些開源 JavaScript 代碼。 如果您不想自己編寫所有代碼(或重新發明輪子),那麼您可以從無數機器人框架和庫中進行選擇來導入您的基本機器人邏輯。
Agan 將他的項目命名為“Index.js”,添加了一個他自己構建的名為 TinySpeck 的包,然後粘貼到我們之前編寫的 Message Builder 代碼中。 有了主要的機器人代碼,他只需添加一個回調命令即可觸發新工單和“已創建幫助台工單”確認消息。 而已。 如果您想添加 Webhooks 代碼以在您指定的頻道中觸發通知,那麼您也可以將其粘貼到此處。 Glitch 會為您的機器人服務器創建一個唯一的 URL,因此在您添加所有代碼後復制該 URL,我們將繼續下一步。
8. 8. 啟用交互式消息
您已經創建了您的幫助台機器人,所以現在您所要做的就是返回 API。 無需選擇“創建新應用程序”,只需單擊“管理應用程序”並選擇幫助台應用程序。 在基本信息頁面下,在添加特性和功能框中選擇“交互式消息”。 進入該頁面後,單擊“啟用交互式消息”,粘貼上一步中的服務器 URL,然後保存更改。
9. 9. 創建斜杠命令
完成後,返回添加特性和功能框並進入斜線命令。 單擊“創建新命令”。 這會將您帶到一個包含幾個字段的表單頁面。
在命令框中,輸入斜杠命令。 在這種情況下,Agan 輸入了“/helpdesk”。 在請求 URL 字段中,他粘貼了來自 Glitch 的相同服務器 URL。 然後,您只需輸入命令的簡短描述(“創建幫助台工單”),用戶應如何鍵入請求的使用提示,檢查其下方的預覽以確保一切正常,然後單擊保存.
在命令框中,輸入斜杠命令。 在這種情況下,Agan 輸入了“/helpdesk”。 在請求 URL 字段中,他粘貼了來自 Glitch 的相同服務器 URL。 然後,您只需輸入命令的簡短描述(“創建幫助台工單”),用戶應如何鍵入請求的使用提示,檢查其下方的預覽以確保一切正常,然後單擊保存.