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())

发送结果

 Python 调用钉钉机器人发送信息_d3

发送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())

 发送结果

Python 调用钉钉机器人发送信息_d3_02