Python调用钉钉机器人发送消息
在日常工作中,需要用到告警通知,而常用的手段有邮件、短信、企业微信、飞书及钉钉,此处结合公司使用的钉钉,就记录整理Python调用钉钉机器人发送告警的信息。此处使用常用的两种方式即可,一种发送文本信息,另一中发送markdown信息。
更多机器人使用方式可参考官网:https://developers.dingtalk.com/document/robots/custom-robot-access.
注意,在发送消息时,需要符合创建机器人的接收消息认证类型,比如认证方式为关键字,则需要在发送消息时包含此关键字;若认证方式为IP的方式,则发消息的客户端IP需要需添加的一致等。
发送文本信息
import requests import json url = 'https://oapi.dingtalk.com/robot/send?access_token=5000e7622081417901bc4bd78e97260291d36ccec706266dd3080fb0e0c' headers = {'Content-Type': 'application/json;charset=utf-8'} data = { "msgtype": "text", "text": { "content": "通知:Just for a test..." }, "at": { "atMobiles": [ '150xxxxxxxx' ], "isAtAll": False } } r = requests.post(url=url,headers=headers,data=json.dumps(data)) print(r.json())
发送结果
发送markdown类型消息
import requests import json url = 'https://oapi.dingtalk.com/robot/send?access_token=5000e7622081417901bc4bd78e97260e76291d36ccec706266dd3080fb0e0c' headers = {'Content-Type': 'application/json;charset=utf-8'} data = { "msgtype": "markdown", "markdown": { "title":"武汉天气", "text": "#### 武汉天气 @150xxxxxxxx \n" "> 通知:9度,西北风1级,空气良89,相对温度73%\n" + "> ![screenshot](https://img.alicdn.com/tfs/TB1NwmBEL9TBuNjy1zbXXXpepXa-2400-1218.png)\n" + "> ###### 10点20分发布 [天气](https://www.dingtalk.com) \n" }, "at": { "atMobiles": [ "150xxxxxxxx" ], "isAtAll": False } } r = requests.post(url=url,headers=headers,data=json.dumps(data)) print(r.json())
发送结果