@
litongxue 因为代码魔改了,这里就只写核心发消息的逻辑了。
直接建个钉钉群,然后在群里加个 webhook 机器人,下面是发钉钉消息的核心代码:
import time
import datetime
import requests
import json
import time
import hmac
import hashlib
import base64
import urllib.parse
dingtalk_secret = ""
dingtalk_access_token = ""
def webhook_secret():
timestamp = str(round(time.time() * 1000))
secret_enc = dingtalk_secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, dingtalk_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_plus(base64.b64encode(hmac_code))
return (timestamp, sign)
def send_dingtalk_message(message):
(timestamp, sign) = webhook_secret()
url = "
https://oapi.dingtalk.com/robot/send?access_token={}×tamp={}&sign={}".format(dingtalk_access_token, timestamp, sign)
headers = {
'Content-Type': 'application/json'
}
content = {"msgtype": "text", "text": {"content": message}}
requests.post(url, headers=headers, json=content)
里面 dingtalk_secret 和 dingtalk_access_token 要换成你建的机器人配置的签名和 access token,可以看这个文档
https://developers.dingtalk.com/document/robots/custom-robot-access?spm=ding_open_doc.document.0.0.62846573euH8Cn#topic-2026027send_dingtalk_message 方法就是发消息的方法,哪里要发消息,直接调用,把消息字符串传进去就行了。