创建钉钉群聊机器人,使用Python发送消息

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建钉钉群聊机器人,使用Python发送消息相关的知识,希望对你有一定的参考价值。

文章目录

获取自定义机器人Webhook

1.1、创建群(然后将别人移出群聊)

1.2、单击群设置 > 智能群助手

1.3、在机器人管理页面选择自定义机器人

1.4、输入机器人名字

1.5、创建完成,要记下Webhook(就是消息发送的地址)

1.6、机器人创建完成后会在群报道,点击机器人头像也可查看Webhook

使用Python发送消息

import hmac
from base64 import b64encode
from hashlib import sha256
from json import dumps
from time import time
from urllib import parse
from requests import post  # conda install requests

# 网址
URL = 'https://oapi.dingtalk.com/robot/send?'
# 群标识
ACCESS_TOKEN = '把【Webhook】的【access_token】贴到这'
# 加签
SIGN = '把【加签】那串贴到这'
# 请求头
HEADERS = 'content-type': 'application/json'


def get_params():
    # 钉钉文档-加签方法:https://open.dingtalk.com/document/robots/customize-robot-security-settings
    timestamp = str(round(time() * 1000))
    secret_enc = SIGN.encode('utf-8')
    string_to_sign_enc = '\\n'.format(timestamp, SIGN).encode('utf-8')
    hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=sha256).digest()
    sign = parse.quote_plus(b64encode(hmac_code))
    # 返回请求参数
    return 
        'access_token': ACCESS_TOKEN,
        'sign': sign,
        'timestamp': timestamp,
    


def send(content):
    data = 
        "msgtype": "text",
        "text": 
            "content": content,
        ,
        "at": 
            "atMobiles": [
                "钉钉手机号"
            ],
            "isAtAll": False
        ,
    
    data = dumps(data)
    print(post(url=URL, headers=HEADERS, data=data, params=get_params()))


if __name__ == '__main__':
    send('告警测试')

使用curl发送消息

关闭加签,开启自定义关键词

CentOS7安装curl命令

yum -y install curl
命令参数原文说明
-H, --header <header>(HTTP) Extra header to use when getting a web page超文本传输协议的消息头
-d, --data <data>Sends the specified data in a POST request to the HTTP server在POST请求中发送指定的数据到HTTP服务器
curl 'https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXXXXXX' \\
   -H 'Content-Type: application/json' \\
   -d '
   
       "msgtype": "text",
       "text": 
           "content": "告警测试"
       ,
       "at": 
           "atMobiles": [
               "钉钉手机号"
           ],
           "isAtAll": false
       
   '

以上是关于创建钉钉群聊机器人,使用Python发送消息的主要内容,如果未能解决你的问题,请参考以下文章

python3 钉钉 加签名 钉钉群机器人告警 脚本

python3 钉钉 加签名 钉钉群机器人告警 脚本

python3 钉钉 加签名 钉钉群机器人告警 脚本

zabbix 使用机器人报警到钉钉群聊

python dingtalk钉钉群告警消息发布

Shell中通过机器人发送钉钉群消息