溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用python3.7配置開發(fā)釘釘群自定義機器人

發(fā)布時間:2021-04-14 10:01:01 來源:億速云 閱讀:209 作者:小新 欄目:開發(fā)技術

小編給大家分享一下怎么使用python3.7配置開發(fā)釘釘群自定義機器人,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

首先明確一點,釘釘自定義機器人早就不支持在手機端創(chuàng)建了,所以打開你的pc端或者mac端的釘釘客戶端,在需要機器人的聊天群界面,點擊智能群助手

怎么使用python3.7配置開發(fā)釘釘群自定義機器人

隨后點擊添加機器人按鈕

怎么使用python3.7配置開發(fā)釘釘群自定義機器人

此時能看到很多已經(jīng)封裝好的第三方機器人,本次我們選擇自定義機器人

怎么使用python3.7配置開發(fā)釘釘群自定義機器人

值得一提的是,釘釘?shù)臋C器人基于webhook協(xié)議,webhook呢是一個api概念,是微服務api的使用范式之一,也被成為反向api,即前端不主動發(fā)送請求,完全由后端推送,有機會會單門寫一篇文章闡述webhook

在添加機器人界面里,填寫一些機器人的信息

怎么使用python3.7配置開發(fā)釘釘群自定義機器人

需要注意的是,在安全設置一欄里,我們選擇加簽的方式來驗證,在此說明一下,釘釘機器人的安全策略有三種,第一種是使用關鍵字,就是說你推送的消息里必須包含你創(chuàng)建機器人時定義的關鍵字,如果不包含就推送不了消息,第二種就是使用加密簽名,第三種是定義幾個ip源,非這些源的請求會被拒絕,綜合來看還是第二種又安全又靈活。

怎么使用python3.7配置開發(fā)釘釘群自定義機器人

創(chuàng)建成功后,系統(tǒng)會分配給你一個webhook地址,這個地址需要保存一下,地址中有唯一的accesstoken

ok,那么怎么利用這個地址讓你的機器人推送消息呢?查看官方文檔: https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq

發(fā)現(xiàn)文檔居然還是python2.0的版本,好吧,我們自己來翻譯成3.0

import time
import hmac
import hashlib
import base64
import urllib.parse

timestamp = str(round(time.time() * 1000))
secret = 'SEC90485937c351bfaed41fea8eda5f1e155bbf22842d5f9d6871999e05822fd894'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote(base64.b64encode(hmac_code))
# print(timestamp)
# print(sign)


import requests,json #導入依賴庫
headers={'Content-Type': 'application/json'} #定義數(shù)據(jù)類型
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=f0ca7636f5812fe4815c97a72de9a7cc780c414c258b6c9a631036b1d0f49e3b&timestamp='+timestamp+"&sign="+sign
#定義要發(fā)送的數(shù)據(jù)
#"at": {"atMobiles": "['"+ mobile + "']"
data = {
 "msgtype": "text",
 "text": {"content": '都誰沒加到群里來?小心升不了班'},
 "isAtAll": True}
res = requests.post(webhook, data=json.dumps(data), headers=headers) #發(fā)送post請求

print(res.text)

推送效果是下面這樣的:

怎么使用python3.7配置開發(fā)釘釘群自定義機器人

以上是“怎么使用python3.7配置開發(fā)釘釘群自定義機器人”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI