註冊與建立 Slack App
到 Building Slack apps 裡,點選 Create a Slack app 按鈕,輸入 App Name 和選擇在哪一個 Team ,如下圖。
接著點選 Bots ,進入加入 Bot User 頁面。
點選 Add Bot User 按鈕,輸入要給 Bot 的名稱。
回到 Basic Information 頁面來,下拉 Install your app to your team ,點選 Install App to Team 來產生 token 。點進去會進入確認頁面,點選 Authorize 。
安裝 App 完畢後回到 Basic Information ,在 Add features and functionality 裡 Permission 選項,點進去可以拿到 OAuth Access Token 和 Bot User OAuth Access Token。或者可以從左邊選項列表中的 Features 選擇 OAuth & Permission 進去。
在 Slack 提供的 Api 裡,有些 method 只有擁有特定的權限才能使用,因此視開發的用途需要在 OAuth & Permission 底下的 Permission Scopes 設定需要的權限。這些權限如果 App 需要公開給第三方使用時就會經過 Slack 審查是否合適,私人使用沒有限制。
以要建立聊天機器人來說,需要開通 chat:write:bot
權限才能送訊息到 slack channel。
設定好 Permission Scopes 後,需要在底下按下 Revoke Tokens 按鈕。然後重新 install app ,產生新的 token ,設定的權限才會生效。
使用 python lib
使用 slackclient 這套 lib 可以快速讓 bot 可以在頻道上發話。
安裝
|
|
使用範例
送訊息到 #general
頻道上。
|
|
簡單的幾段 code 就完成了一個可以發話的機器人。
使用官方 API 送訊息
這邊是使用官方提供的 api 來送訊息,參閱網頁為:API Methods,並使用 requests
這套 http lib 來送出訊息。範例 code 如下:
|
|
結論
如要做個發話機器人,slack 提供的資源可以簡單地讓開發者快速有個雛形。要繼續深入使用各種 API 來做功能的話,就需要開始注意各個 API 所需要的權限,以及了解 API 回應的資料格式,這部分就需要細心研究了。