釘釘群機器人配置
在互聯網企業中,數字化辦公早已經不是什么新鮮事了,其中以釘釘為代表的工具更是其中的主力軍。目前公司中釘釘的使用已經較為普及,像釘釘打卡、釘釘會議室、釘盤等。本小節將針對釘釘群機器人進行介紹,助力利用釘釘群機器人實現高效、靈活的辦公。
1. 釘釘群機器人介紹
釘釘群機器人是在釘釘群中使用,群機器人是釘釘為用戶提供的智能群助手,幫助群里溝通協同更加高效。在【群設置】-【智能群助手】可以找到(如下圖)。目前群里支持最多添加 6 個機器人。
在添加群機器人這里可以看到,釘釘已經為我們提供了可以添加的機器人如下圖所示,也可以使用釘釘官方機器人小釘,還可以添加 Github 等機器人或添加企業機器人。
當然如果以上這些都無法滿足你的需求,你還可以自定義機器人。這也是本小節的主要內容。
通過本小節的學習,我們將自定義一個群機器人,實現信息的發送功能,如下圖所示。
2. 創建一個自定義機器人
開啟自定義機器人步驟,首先找到想要加入群機器人的釘釘群,在【群設置】-【智能群助手】,進入后如下圖所示。
選擇【添加機器人】,進入到添加界面,如下圖所示。
在這里展示本群已加入的機器人,如需添加新的機器人,點擊【添加機器人】進入到添加界面,如下圖所示。
在添加界面,選擇自定義機器人,如下圖所示。
配置項解釋:
-
機器人名字:即添加到釘釘群中的機器人所顯示的名稱,本小節中命名為” 小 Q“
-
添加到群組:即該機器人所加入的釘釘群,這里為只讀顯示,不可更改
-
安全設置:
-
自定義關鍵詞:即當發送消息中包含至少一個指定關鍵詞才可以發送成功,最多可以設置 10 個關鍵詞。例如:添加了一個自定義關鍵詞:監控報警,則這個機器人所發送的消息,必須包含 “監控報警” 這個詞,才能發送成功。
-
加簽:即通過時間戳 + 密鑰當做簽名字符串,使用 HmacSHA256 算法計算簽名,然后進行 Base64 encode,最后再把簽名參數再進行 urlEncode,得到最終的簽名,在發送請求時帶著加密后的簽名進行通信。
-
IP 地址(段):即設定后,只有來自 IP 地址范圍內的請求才會被正常處理。支持兩種設置方式:IP、IP 段。
-
本小節中采用第一種自定義關鍵詞的形式進行添加自定義機器人小 Q,配置內容如下圖所示。
勾選服務條款,點擊完成按鈕,如下圖所示。
到這一步,我們就已經完成了自定義機器人的創建,但只是第一步,第二步還需要在代碼中操作機器人。這里注意獲取到 Webhook 地址后,用戶可以向這個地址發起 HTTP 請求,即可實現給該釘釘群發送消息。
Tips:在發起 HTTP 請求時,必須將字符集編碼設置成 UTF-8。
3. 結合 requests 發送消息
得到 Webhook 地址后,就可以通過自定義機器人向釘釘群中發送消息了,目前發送消息的類型支持文本 (text)、鏈接 (link)、markdown (markdown)、ActionCard、FeedCard,大家可以根據自己的使用場景選擇合適的消息類型。
下面結合 requests 發送一條普通文本信息,代碼如下所示。
import json
import requests
HEADERS = {"Content-Type": "application/json;charset=utf-8"}
url = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
data = {
"msgtype": "text",
"text": {
"content": "監測預警"+"hello world"
},
"isAtAll": True
}
response = requests.post(url, json.dumps(data), headers=HEADERS)
代碼解釋:將 Webhook 地址保存在變量 url 中,作為 request 發起 post 請求時的請求地址,傳遞參數 data 中,其中 msgtype 為消息類型,“text” 為普通文本,配置項第二個 text 為發送的內容,isAtAll 為布爾值,是否 @ 所有人,如果設置為 False,可以通過 atMobiles,@指定人(atMobiles 處配置手機號碼)。代碼執行完成后,即完成了第一條釘釘群機器人的信息發送,效果如下圖所示:
4. 小結
本節課程我們主要學習了釘釘群機器人的配置和信息發送。本節課程的重點如下:
- 了解釘釘群機器人的作用及使用步驟;
- 掌握結合 requests 完成文本信息的發送;