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

Posted 闭关苦炼内功

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 钉钉 加签名 钉钉群机器人告警 脚本相关的知识,希望对你有一定的参考价值。

钉钉群聊


关于为何设置加签名?
这里主要是想着使用起来更方便,因为签名这块更加灵活

全网普遍用 自定义关键词多,不予置评


添加群机器人

智能群助手

添加机器人

自定义 机器人

设置加签

复制一下签名 SEC ,后边会用到

复制 webhook

点击完成

机器人创建成功!


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

dd-alert.py

#!/usr/bin/env python3
# encoding=utf-8
import json
import sys
from hdfs import *
import json
import hashlib
import base64
import hmac
import time
import requests
from urllib.parse import quote_plus
from datetime import datetime

timestamp = str(round(time.time() * 1000))
url = 'https://oapi.dingtalk.com/robot/send?access_token=改成你自己的'
secret = '改成你自己的加签'
secret_enc = secret.encode('utf-8')
string_to_sign = '\\n'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = quote_plus(base64.b64encode(hmac_code))

class Send_Message:
    def __init__(self, text):
        self.text = text

    def send_message(self):
        headers = 'Content-Type': 'application/json'
        webhook = url + '&timestamp=' + timestamp + '&sign=' + sign
        data = 
            "msgtype": "text",
            "text": 
                "content": "%s" % (self.text)
            
        
        value = json.dumps(data)
        r = requests.post(webhook, value, headers=headers)
        return r.text

if __name__ == "__main__":

    event = sys.argv[1]
    s = Send_Message(event + " , 测试成功!" + "\\n通知时间:".format(datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
    s.send_message()
    sys.exit(0)

usage:

python3 dd-alert.py test1
python3 dd-alert.py test2
python3 dd-alert.py test3

看下效果

钉钉群有消息通知


打完收工!

我们下期见!

以上是关于python3 钉钉 加签名 钉钉群机器人告警 脚本的主要内容,如果未能解决你的问题,请参考以下文章