python推送消息到钉钉python钉钉消息推送python钉钉机器人
python
import json
import hashlib
import base64
import hmac
import os
import time
import requests
from urllib.parse import quote_plus
class Messenger:
def __init__(self, token=os.getenv("DD_ACCESS_TOKEN"), secret=os.getenv("DD_SECRET")):
self.timestamp = str(round(time.time() * 1000))
self.URL = "https://oapi.dingtalk.com/robot/send"
self.headers = {'Content-Type': 'application/json'}
secret = secret
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(self.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()
self.sign = quote_plus(base64.b64encode(hmac_code))
self.params = {'access_token': token, "sign": self.sign}
def send_text(self, content):
"""
发送文本
@param content: str, 文本内容
"""
data = {"msgtype": "text", "text": {"content": content}}
self.params["timestamp"] = self.timestamp
return requests.post(
url=self.URL,
data=json.dumps(data),
params=self.params,
headers=self.headers
)
if __name__ == "__main__":
m = Messenger(
token="19985c90103a1cb38f2c9e8fxxxxxxxxxxxxxxxx你的token",
secret="SEC602a8ce2713cb077deb3xxxxxxxxxxxxxxxx你的secret"
)
# print(m.send_text("电费不足"))
# print(m.send_text("电费剩余"))
推送文本2
python
#发送文本
from dingtalkchatbot.chatbot import DingtalkChatbot
from datetime import datetime
def dingtalk_robot(webhook,secret):
dogBOSS = DingtalkChatbot(webhook, secret)
url = 'http://kamo.fun'
dogBOSS.send_text(
msg=f'电费剩余',
is_at_all=False)
if __name__ == '__main__':
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=19985c90103a1cb38f2c9e8f0f3d9e475xx'
secrets = 'SEC602a8ce2713cb077deb398d8543xx'
dingtalk_robot(webhook=webhook,
secret=secrets)
推送markdown
python
#发送markdown格式
from dingtalkchatbot.chatbot import DingtalkChatbot
from datetime import datetime
def dingtalk_robot(webhook,secret):
dogBOSS = DingtalkChatbot(webhook, secret)
red_msg = '<font color="#dd0000">级别:危险</font>'
orange_msg = '<font color="#FFA500">级别:警告</font>'
now_time = datetime.now().strftime('%Y.%m.%d %H:%M:%S')
url = 'http://kamo.fun'
dogBOSS.send_markdown(
title=f'电费剩余',
text=f'### **我是主内容的第一行**\n'
f'**{red_msg}**\n\n'
f'**{orange_msg}**\n\n'
f'**发送时间:** {now_time}\n\n'
f'**相关网址:**[点击跳转]({url}) \n',
is_at_all=True)
if __name__ == '__main__':
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=19985c90103a1cb38f2c9xxx'
secrets = 'SEC602a8ce2713cb077deb398d85432bxxx'
dingtalk_robot(webhook=webhook,
secret=secrets)