文章目录

  • 一、钉钉机器人
  • 0.参考文档
  • 1.创建一个群
  • 2.设置群助手
  • 3.设置机器人信息
  • 4.编写测试文件
  • 5.访问请求,预警成功
  • 二、企业微信机器人
  • 0.消息发送频率限制
  • 1.创建群聊,增加机器人
  • 2.设置机器人信息
  • 3.编写测试文件
  • 3.1普通文字格式
  • 3.2 Markdown格式


在平时的生产环境中,为了及时预警我们代码中所出现的紧急情况,我们通常通过设置群机器人来进行预警,其中最常用的两个机器人为钉钉机器人和企业微信机器人,下面我们一次介绍两个机器人的使用方式和步骤,两个机器人使用方式基本相同。

一、钉钉机器人

0.参考文档

https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq/e9d991e2

1.创建一个群

钉钉组织架构双向同步 钉钉两个组织_钉钉组织架构双向同步

2.设置群助手

点击群设置——>智能群助手——>添加机器人——>自定义——>添加

钉钉组织架构双向同步 钉钉两个组织_钉钉组织架构双向同步_02

3.设置机器人信息

钉钉组织架构双向同步 钉钉两个组织_json_03

钉钉组织架构双向同步 钉钉两个组织_json_04

4.编写测试文件

# coding:utf-8

url = '填写记录的Webhook'
headers = {
    "Content-Type": "application/json; charset=utf-8"
}

data = {
    "msgtype": "text",
    "text": {
        "content": "知乎预警填写自己的内容,必须包含自定义关键词中的一个"
    },
    "at": {
        "atMobiles": [
            "xxxxx", # 机器人发送信息@的用户
        ],
        "isAtAll": False  # 是否@所有人
    }
}

# 发送请求
resp = requests.post(url,
                     data=json.dumps(data).encode('utf8'),
                     headers=headers,
                    )
print resp.json()

5.访问请求,预警成功

钉钉组织架构双向同步 钉钉两个组织_钉钉_05

二、企业微信机器人

0.消息发送频率限制

每个机器人发送的消息不能超过20条/分钟。

1.创建群聊,增加机器人

企业微信机器人,需要在创建群后再手机端创建机器人

钉钉组织架构双向同步 钉钉两个组织_钉钉组织架构双向同步_06

2.设置机器人信息

钉钉组织架构双向同步 钉钉两个组织_json_07

3.编写测试文件

企业微信机器人有两种格式的编写,分别为普通文字和Markdown格式

3.1普通文字格式

钉钉组织架构双向同步 钉钉两个组织_机器人_08

# 企业微信机器人文字预警
def qywx_text_robot(content):
    data = {
        "msgtype": 'text',
        "text": {
            "content": content,
            "mentioned_list": [],  # userid,"@all"艾特所有人
            "mentioned_mobile_list": []  # 手机号
        }
    }
    req = {
        "url": 'Webhook地址',
        "method": "POST",
        "headers": {
            "Content-Type": "application/json; charset=utf-8"
        },
        "data": json.dumps(data).encode('utf8'),
    }
    requests.post(url=req['url'], data=req['data'])

3.2 Markdown格式

钉钉组织架构双向同步 钉钉两个组织_钉钉组织架构双向同步_09

# 企业微信机器人markdown预警
def qywx_markdown_robot(content):
    data = {
        "msgtype": "markdown",
        "markdown": {
            "content": content
        }
    }

    req = {
        "url": 'Webhook地址',
        "method": "POST",
        "headers": {
            "Content-Type": "application/json; charset=utf-8"
        },
        "data": json.dumps(data).encode('utf8'),
    }
    requests.post(url=req['url'], data=req['data'])

钉钉组织架构双向同步 钉钉两个组织_钉钉_10

钉钉组织架构双向同步 钉钉两个组织_钉钉组织架构双向同步_11


钉钉组织架构双向同步 钉钉两个组织_钉钉组织架构双向同步_12

钉钉组织架构双向同步 钉钉两个组织_机器人_13