当前位置: 首页 > news >正文

钉钉群机器人设置——python版本

钉钉群机器人设置——python版本

    • 应用场景
    • 钉钉界面操作
    • 程序开发
    • 效果展示

应用场景

由于工作需要,很多项目执行程序后出现报错信息无法第一时间收到,因此实时预警对于监控程序还是有必要。(仅个人观点
参考文档及博客
钉钉官方文档
个人博客

钉钉界面操作

1.钉钉群——群设置——机器人
群机器人设置_01
2. 添加机器人——自定义类型——添加
群机器人设置_02

群机器人设置_03

群机器人设置_04
3. 定义机器人名称——勾选加签——完成
群机器人设置_05
4.webhook是自动生成的,access_token是代码中access_token,也是自动生成
群机器人设置_06
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 +'\n'+secret, encoding='utf-8')  # 创建签名数据hmac_key = bytes(secret, encoding='utf-8')  # 使用secret创建HMAC密钥sign = hmac.new(hmac_key, secret_byte, digestmod=hashlib.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\n"f"**服务器类型: {sys.platform}**\n\n"f"**异常信息: {msg_except}**\n\n"f"**时间: {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, data=json.dumps(message), headers=headers)  # 发送请求# 打印响应结果if response.status_code == 200:return response.json()else:return response.text

效果展示

Alt

相关文章:

钉钉群机器人设置——python版本

钉钉群机器人设置——python版本 应用场景钉钉界面操作程序开发效果展示 应用场景 由于工作需要,很多项目执行程序后出现报错信息无法第一时间收到,因此实时预警对于监控程序还是有必要。(仅个人观点) 参考文档及博客&#xff1a…...

细说STM32F407单片机电源低功耗StandbyMode待机模式及应用示例

目录 一、待机模式基础知识 1、进入待机模式 2、待机模式的状态 3、退出待机模式 二、待机模式应用示例 1、示例功能和CubeMX项目设置 (1) 时钟 (2) DEBUG、LED1、KeyRight、USART6、CodeGenerator (3&#x…...

IOS 安全机制拦截 window.open

摘要 在ios环境,在某些情况下执行window.open不生效 一、window.open window.open(url, target, windowFeatures) 1. url:「可选参数」,表示你要加载的资源URL或路径,如果不传,则打开一个url地址为about:blank的空…...

jmeter中对接口进行循环请求后获取相应数据

1、工作中遇到一个场景就是对某个单一接口进行循环请求,并需要获取每次请求后返回的相应数据; 2、首先就在jmeter对接口相关组件进行配置,需要组件有:循环控制器、CSV数据文件设置、计数器、访问接口、HTTP信息头管理器、正则表达…...

【QT】-explicit关键字

explicit explicit 是一个 C 关键字,用于修饰构造函数。它的作用是防止构造函数进行隐式转换。 为什么需要 explicit? 在没有 explicit 的情况下,构造函数可以用于隐式类型转换。这意味着,如果你有一个接受某种类型的参数的构造…...

【深度学习】 自动微分

自动微分 正如上节所说,求导是几乎所有深度学习优化算法的关键步骤。 虽然求导的计算很简单,只需要一些基本的微积分。 但对于复杂的模型,手工进行更新是一件很痛苦的事情(而且经常容易出错)。 深度学习框架通过自动…...

字节跳动自研HTTP开源框架Hertz简介附使用示例

字节跳动自研 HTTP 框架 Hertz Hertz 是字节跳动自研的高性能 HTTP 框架,专为高并发、低延迟的场景设计。它基于 Go 语言开发,结合了字节跳动在微服务架构中的实践经验,旨在提供更高效的 HTTP 服务开发体验。 1. 背景介绍 随着字节跳动业务…...

skynet 源码阅读 -- 核心概念服务 skynet_context

本文从 Skynet 源码层面深入解读 服务(Service) 的创建流程。从最基础的概念出发,逐步深入 skynet_context_new 函数、相关数据结构(skynet_context, skynet_module, message_queue 等),并通过流程图、结构…...

每日十题八股-2025年1月23日

1.快排为什么时间复杂度最差是O(n^2) 2.快排这么强,那冒泡排序还有必要吗? 3.如果要对一个很大的数据集,进行排序,而没办法一次性在内存排序,这时候怎么办? 4.面试官:你的…...

MongoDB部署模式

目录 单节点模式(Standalone) 副本集模式(Replica Set) 分片集群模式(Sharded Cluster) MongoDB有多种部署模式,可以根据业务需求选择适合的架构和部署方式。 单节点模式(Standa…...

opencv笔记2

图像灰度 彩色图像转化为灰度图像的过程是图像的灰度化处理。彩色图像中的每个像素的颜色由R,G,B三个分量决定,而每个分量中可取值0-255,这样一个像素点可以有256*256*256变化。而灰度图像是R,G,B三个分量…...

springboot使用ssl连接elasticsearch

使用es时ssl证书报错 unable to find valid certification path to requested target 1.依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency>2…...

Linux内核中的InfiniBand核心驱动:verbs.c分析

InfiniBand(IB)是一种高性能、低延迟的网络互连技术,广泛应用于高性能计算(HPC)、数据中心和云计算等领域。Linux内核中的InfiniBand子系统通过提供一组核心API(称为Verbs API)来支持InfiniBand设备的操作。drivers/infiniband/core/verbs.c是InfiniBand核心驱动的重要组…...

把网站程序数据上传到服务器的方法和注意事项

将网站程序数据上传到服务器是一个常见的网站开发和部署流程。主要涉及到FTP上传、FileZilla、rsync(在Linux下)、或其他相关的文件同步工具。以下是一般步骤和方法&#xff1a; 使用FTP&#xff1a; 1. 选择FTP客户端软件&#xff1a; - 常见的FTP客户端包括FileZilla(开源)、…...

完全平方数——唯一分解定理

文章目录 一、唯一分解定理是什么&#xff1f;1.定义2.示例3.代码模板 二、例题1>问题描述&#xff08;2021蓝桥杯省赛&#xff09;输入格式输出格式样例输入 1样例输出 1样例输入 2样例输出 2评测用例规模与约定 2>解题思路3>假娃3>C嘎嘎 一、唯一分解定理是什么&…...

(详细)Springboot 整合动态多数据源 这里有mysql(分为master 和 slave) 和oracle,根据不同路径适配不同数据源

文章目录 Springboot 整合多动态数据源 这里有mysql&#xff08;分为master 和 slave&#xff09; 和oracle1. 引入相关的依赖2. 创建相关配置文件3. 在相关目录下进行编码&#xff0c;不同路径会使用不同数据源 Springboot 整合多动态数据源 这里有mysql&#xff08;分为maste…...

mock可视化生成前端代码

介绍&#xff1a;mock是我们前后端分离的必要一环、ts、axios编写起来也很麻烦。我们就可以使用以下插件&#xff0c;来解决我们的问题。目前支持vite和webpack。&#xff08;配置超级简单&#xff01;&#xff09; 欢迎小伙伴们提issues、我们共建。提升我们的开发体验。 vi…...

Spring Boot(6)解决ruoyi框架连续快速发送post请求时,弹出“数据正在处理,请勿重复提交”提醒的问题

一、整个前言 在基于 Ruoyi 框架进行系统开发的过程中&#xff0c;我们常常会遇到各种有趣且具有挑战性的问题。今天&#xff0c;我们就来深入探讨一个在实际开发中较为常见的问题&#xff1a;当连续快速发送 Post 请求时&#xff0c;前端会弹出 “数据正在处理&#xff0c;请…...

鸿蒙Harmony json转对象(1)

案例1 运行代码如下 上图的运行结果如下: 附加1 Json_msg interface 案例2 import {JSON } from kit.ArkTS; export interface commonRes {status: numberreturnJSON: ESObject;time: string } export interface returnRes {uid: stringuserType: number; }Entry Component …...

常见的RocketMQ面试题及其简要答案

以下是一些常见的RocketMQ面试题及其简要答案&#xff1a; 一、基础概念与架构 简述RocketMQ是什么&#xff0c;并说明其主要作用。 答案&#xff1a; RocketMQ&#xff1a;是阿里巴巴在2012年开源的一款分布式消息中间件&#xff0c;目前已经捐赠给Apache软件基金会&#xff…...

NAssistant上位机实战:从TOFSense数据解析到固件升级全流程

1. NAssistant上位机初识&#xff1a;连接TOFSense的起点 第一次打开NAssistant上位机时&#xff0c;那个简洁的灰色界面可能会让你觉得无从下手。别担心&#xff0c;我刚开始用的时候也是这样。这个由Nooploop开发的工具其实设计得非常直观&#xff0c;只是需要一点时间来熟悉…...

利用Qwen3-14B-AWQ优化数据库课程设计:智能ER图生成与SQL语句优化

利用Qwen3-14B-AWQ优化数据库课程设计&#xff1a;智能ER图生成与SQL语句优化 1. 课程设计的痛点与解决方案 每到数据库课程设计阶段&#xff0c;学生们总会遇到相似的困扰&#xff1a;面对一个模糊的业务需求&#xff0c;如何准确识别实体和关系&#xff1f;如何设计规范的数…...

3分钟掌握英雄联盟身份定制:LeaguePrank终极使用指南

3分钟掌握英雄联盟身份定制&#xff1a;LeaguePrank终极使用指南 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 还在为千篇一律的游戏界面感到乏味吗&#xff1f;想在不违反游戏规则的前提下展示个性风格&#xff1f;LeagueP…...

效果对比:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF在多轮对话与复杂指令跟随上的表现

效果对比&#xff1a;Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF在多轮对话与复杂指令跟随上的表现 1. 模型能力概览 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF&#xff08;以下简称"推理蒸馏模型"&#xff09;是一款专注于复杂推理和多轮对…...

OpenClaw多模态实践:Qwen3.5-9B-VL图文报告自动生成

OpenClaw多模态实践&#xff1a;Qwen3.5-9B-VL图文报告自动生成 1. 为什么需要多模态自动化 去年整理学术文献时&#xff0c;我每天要手动截取论文图表、复制关键数据、整理成Markdown笔记。这个过程不仅耗时&#xff0c;还经常漏掉重要细节。直到发现OpenClaw可以对接Qwen3.…...

利用快马平台与openclaw切换模型功能,快速构建待办事项应用原型

最近在尝试快速构建一个待办事项应用的原型时&#xff0c;发现InsCode(快马)平台的AI代码生成功能特别适合这种场景。通过平台内置的openclaw切换模型功能&#xff0c;可以快速比较不同AI模型生成的代码风格差异&#xff0c;大大缩短了原型开发周期。下面分享下我的实践过程&am…...

Python入门第6章:字典(键值对数据结构)

Python入门第6章&#xff1a;字典&#xff08;键值对数据结构&#xff09; 大家好&#xff0c;欢迎来到Python入门系列的第6章内容&#xff01;在前5章里&#xff0c;我们学会了变量、数据类型、运算符、if语句等基础知识点&#xff0c;也接触了列表、元组这两种序列数据结构—…...

Qt多线程数据库操作:安全分离连接,彻底解决段错误

在 Qt 开发中&#xff0c;数据库操作与多线程的搭配是一个经典难题。许多开发者都曾遇到过这样的诡异现象&#xff1a;程序运行一段时间后突然崩溃&#xff0c;堆栈指向数据库操作&#xff0c;但代码逻辑明明正确。真相只有一个——数据库连接被多个线程共享了。本文结合真实项…...

一个月突变!Linux内核大佬懵了:上个月还是“AI垃圾”,这个月AI Bug报告却突然靠谱?

整理 | 郑丽媛出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;最近在做开源项目维护的开发者&#xff0c;可能会有一种奇怪的错觉&#xff1a;Bug 似乎报告变多了&#xff0c;而且变准了——更准确地说&#xff0c;是 AI 报的 Bug&#xff0c;突然开始“靠谱了”。…...

程序员体检报告暗语:甲状腺结节=加班等级说明书

一、当体检报告出现“甲状腺结节”翻开软件测试工程师的体检报告&#xff0c;“甲状腺结节”已成为高频词。医学定义中&#xff0c;甲状腺结节是甲状腺细胞异常增生形成的肿块&#xff0c;随吞咽移动&#xff0c;临床检出率超20%&#xff08;数据来源&#xff1a;2023年《中国甲…...