钉钉群机器人
钉钉群自定义机器人发送通知
https://open.dingtalk.com/document/robots/custom-robot-access
1. 代码实现
python
import requests
# 群机器人设置中的自定义关键词
# 钉钉群必须要添加一个安全认证,咱们使用最简单易用的关键字
DINGDING_ROBOT_KEY = '随便'
def group_robot(msgtype, content, key, atuser=[]):
"""通过群机器人将消息发送到钉钉群
msgtype 支持 text 和 markdown 格式
key 是群机器人 webhook 地址
atuser 表示@的人员,存储的是 userid 列表
https://open.dingtalk.com/document/robots/custom-robot-access
"""
if key.startswith('http'):
url = key
else:
url = f'https://oapi.dingtalk.com/robot/send?access_token={key}'
# 统一加上关键词
content += '\n{}'.format(DINGDING_ROBOT_KEY)
if msgtype == 'text':
data = {
'msgtype': 'text',
'text': {
'content': content,
},
'at': {
'atUserIds': atuser,
},
}
elif msgtype == 'markdown':
data = {
'msgtype': 'markdown',
'markdown': {
'title': '有消息',
'text': content,
},
'at': {
'atUserIds': atuser,
},
}
r = requests.post(url, json=data)
print(r.json())
if __name__ == '__main__':
msgtype = 'text'
content = '这是测试消息\nhttps://python-abc.xyz/'
key = 'b0ed3887d8cf0128d2d57905b9b5abcdabcdcefe0db67253bfe67b985aeafca7'
group_robot(msgtype, content, key)
2. 颜色支持
无内置颜色,但是支持 html
的 <font>
标签:
html
<font color="#ff0000">红色</font>
<font color="#ffff00">黄色</font>
<font color="#00ff00">绿色</font>
核心就是要使用 <font>
标签的 color
属性,数值可调