恶意推广网站,做网站和淘宝美工 最低电脑,经济技术开发区人才网,mc做图的网站钉钉群机器人设置——python版本 应用场景钉钉界面操作程序开发效果展示 应用场景
由于工作需要#xff0c;很多项目执行程序后出现报错信息无法第一时间收到#xff0c;因此实时预警对于监控程序还是有必要。#xff08;仅个人观点#xff09; 参考文档及博客#xff1a… 钉钉群机器人设置——python版本 应用场景钉钉界面操作程序开发效果展示 应用场景
由于工作需要很多项目执行程序后出现报错信息无法第一时间收到因此实时预警对于监控程序还是有必要。仅个人观点 参考文档及博客 钉钉官方文档 个人博客
钉钉界面操作
1.钉钉群——群设置——机器人 2. 添加机器人——自定义类型——添加 3. 定义机器人名称——勾选加签——完成 4.webhook是自动生成的access_token是代码中access_token也是自动生成 5.添加机器人成功
程序开发
程序中主要展示需要 指定人 和 推送内容 指定人 官方文档给出两种方式可能我操作不对只能实现使用手机实现指定人的。有机智的小伙伴可以尝试一下官方文档上的另一种方式 推送内容推送的内容格式官方给出了几种我只尝试使用文本和markdown。有机智的小伙伴可以尝试一下官方文档上的另外几种方式
# -*- coding:utf-8 -*-
# Time : 2025/1/21 11:51
# Author: 水兵没月
# File : Dingding_jqr.py
# Software: PyCharm
import sys
import traceback
from urllib import parseimport requests
import time
import hashlib
import base64
import hmac
import json
from fake_useragent import UserAgent
# 钉钉Webhook地址
webhook https://oapi.dingtalk.com/robot/send
access_token 01010f5983cdc79d006eda01b4e**************379cd8ba0e42693 # webhook 自动生成
secret SEC098e6793d38e0154a1f81a********************ebf02ae2ff74ca # 钉钉上可以生成
mobile_list [137*******] # 指定人的列表# 加签函数
def get_sign(secret):timestamp str(int(time.time() * 1000)) # 当前时间戳毫秒secret_byte bytes(timestamp \nsecret, encodingutf-8) # 创建签名数据hmac_key bytes(secret, encodingutf-8) # 使用secret创建HMAC密钥sign hmac.new(hmac_key, secret_byte, digestmodhashlib.sha256).digest() # 生成签名sign_base64 parse.quote_plus(base64.b64encode(sign))return sign_base64, timestamp # 返回签名和时间戳# 发送消息函数
def send_message(content):sign, timestamp get_sign(secret) # 获取签名和时间戳url f{webhook}?access_token{access_token}timestamp{timestamp}sign{sign} # 拼接成最终请求地址stauts content[stauts]stauts 成功 if stauts else 失败msg_except content[exception]msg_time str(time.strftime(%Y-%m-%d %H:%M:%S, time.localtime(int(time.time()))))# markdown 类型展示message {msgtype: markdown,markdown: {title:程序执行情况,text: f**执行情况: {stauts}**\n\nf**服务器类型: {sys.platform}**\n\nf**异常信息: {msg_except}**\n\nf**时间: {msg_time}**\n\n 137*******},at: {atMobiles: mobile_list,isAtAll: False}}# 文本类型展示# message {# msgtype: text, # 消息类型# at: {# atMobiles: mobile_list,# atUserIds: [],# isAtAll: False# },# text: {# content: f{content}137*******# },# }headers {Content-Type: application/json, User-Agent:UserAgent().Chrome} # 设置请求头response requests.post(url, datajson.dumps(message), headersheaders) # 发送请求# 打印响应结果if response.status_code 200:return response.json()else:return response.text效果展示