Bootstrap

python实现钉钉机器人,发送自定义消息

1.钉钉测试
步骤
点击群聊中的设置,然后如下,点击只能群助手
在这里插入图片描述
然后再点击这三个点
在这里插入图片描述
下拉找到自定义
在这里插入图片描述
然后点击添加
后面输入机器人名称,
安全设置选择自定义关键词,要发送的消息包括了这个关键词才会发送到群里,这里写的是测试
然后点击完成,如下界面
在这里插入图片描述
这个url下面的代码需要用上,然后点击完成,机器人就被加到群里去拉
在这里插入图片描述

在这里插入图片描述

上代码

import json
import time
import requests

def send_ding_message(message):
    url = f'替换成webhook地址'

    HEADERS = {
        "Content-Type": "application/json ;charset=utf-8 "
    }
    String_textMsg = {
        "msgtype": "text",
        "text": {"content": message},
        "at": {
            "atMobiles": [
                "13200000000"  #需要艾特的人的手机号
            ],
            "isAtAll": 0  #是否艾特全体成员
        }
    }
    String_textMsg = json.dumps(String_textMsg)
    res = requests.post(url, data=String_textMsg, headers=HEADERS)
    print(res.text)
    return res.text

if __name__ == '__main__':

    # 钉钉部分
    ding_msg = [
        f'「****************{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(time.time())))}***************」']
    ding_msg.append(f'- hahha在测试:\n')
    ding = "\n".join(ding_msg)
    res = send_ding_message(f'{ding}\n- 本次运行结束')

关键词中包含测试,这里就可以直接发出去拉
运行结果:
在这里插入图片描述

在这里插入图片描述

想文字变颜色也是ok的,把上面方法改下就成

import json
import time
import requests

def send_ding_message(message):
    url = f'替换成webhook地址'

    HEADERS = {
        "Content-Type": "application/json ;charset=utf-8 "
    }
    String_textMsg = {
        "msgtype": "markdown",
        "markdown":
            {
                'title':'测试测试',
                "text": message
                },
        "at": {
            "atMobiles": [
                "13200000000"
            ],
            "isAtAll": 0
        }
    }
    String_textMsg = json.dumps(String_textMsg)
    res = requests.post(url, data=String_textMsg, headers=HEADERS)
    print(res.text)
    return res.text

if __name__ == '__main__':

    # 钉钉部分
    ding_msg = [
        f'「****************{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(time.time())))}***************」']
    ding_msg.append(f'<font color=#0000FF>蓝色试下</font>\n\n')
    ding = "\n".join(ding_msg)
    res = send_ding_message(f'{ding}\n- 本次运行结束')

把上面的上面请求中msgtype改成markdown形式了
可以直接把每次需要的文本写到文件中,然后再一次性传到请求中去
后续有时间再优化,目前就这样

;