python发送钉钉消息

 大家在工作中经常需要采集测试结果或生产告警,然后将信息处理后,通过自定义机器人来发送消息并@到对应的人,让他们进行后续的处理;

今天我们就来把如何创建机器人,如何去发送消息,这个简单的流程给手把手的完成了

1.先在钉钉创建自定义机器人,并获取dingtalk access token链接

step1: 打开群设置 --> 打开智能群助手
step2: 选择添加机器人,选择自定义机器人
step3:给机器人命名,自定义关键字【这个必须要在发送消息里包含】,点击完成
step4: 打开机器人获取dingtalk access_token 链接,用于发消息

2.编码,发送消息

我们需要导入2个模块,json用来格式化消息,requests用来发消息

# coding: utf-8
import requests,json
# 发送钉钉消息
def send_dingtalk_message(url, content, mobile_list):
    
    headers = {'Content-Type': 'application/json'}
    data = {
        "msgtype": "text",
        "text": {
            # 要发送的内容【支持markdown】【!注意:content内容要包含机器人自定义关键字,不然消息不会发送出去,这个案例中是test字段】
            "content": content
        },
        "at":{
            # 要@的人
            "atMobiles": mobile_list,
            # 是否@所有人
            "isAtAll": False
        }
    }
    r = requests.post(url, headers=headers, data=json.dumps(data))
    print(r.text)
    return r.text

if __name__ == "__main__":
    # 获取dingtalk token url
    access_token = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    # 钉钉消息内容,注意test是自定义的关键字,需要在钉钉机器人设置中添加,这样才能接收到消息
    content = 'test,测试消息'
    # 要@的人的手机号,可以是多个,注意:钉钉机器人设置中需要添加这些人,否则不会接收到消息
    mobile_list = ['173xxxxxx']
    # 发送钉钉消息
    send_dingtalk_message(access_token, content, mobile_list)

你可能感兴趣的:(python,自动化,python)