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

news2025/1/31 9:35:05

钉钉群机器人设置——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 parse

import 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2286855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Rust自学】15.0. 智能指针(序):什么是智能指针及Rust智能指针的特性

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 15.0.1 指针的基本概念 指针是一个变量在内存中包含的是一个地址,指向另一个数据。 Rust 中最常见的指针是引用&#xff0c…

Spring AI 在微服务中的应用:支持分布式 AI 推理

1. 引言 在现代企业中,微服务架构 已成为开发复杂系统的主流方式,而 AI 模型推理 也越来越多地被集成到业务流程中。如何在分布式微服务架构下高效地集成 Spring AI,使多个服务可以协同完成 AI 任务,并支持分布式 AI 推理&#x…

QT串口通信,实现单个温湿度传感器数据的采集

1、硬件设备 RS485中继器(一进二出),usb转485模块、电源等等 => 累计115元左右。 2、核心代码 #include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::

DeepSeek R1:中国AI黑马的崛起与挑战

文章目录 技术突破:从零开始的推理能力进化DeepSeek R1-Zero:纯RL训练的“自我觉醒”DeepSeek R1:冷启动与多阶段训练的平衡之道 实验验证:推理能力的全方位跃升基准测试:超越顶尖闭源模型蒸馏技术:小模型的…

MFC开发,给对话框添加垂直滚动条并解决鼠标滚动响应的问题

无论在使用QT或者MFC进行界面开发时,都会出现在一个对话框里面存在好多的选项,导致对话框变得非常长或者非常大,就会显现的不美观,在这种情况下通常是添加一个页面的滚动条来解决这个问题,下面我们就来介绍给MFC的对话…

php接口连接数据库

框架:https://www.thinkphp.cn/doc 创建网站 域名自己写 创建文件夹,“test”拉取框架,地址栏输入 composer create-project topthink/think5.1.* tp5 会自动创建一个tp5文件夹 根目录选择刚刚创建拉框架的文件夹 以test为示例 “D:\test\…

【卫星通信】链路预算方法

本文介绍卫星通信中的链路预算方法,应该也适用于地面通信场景。 更多内容请关注gzh【通信Online】 文章目录 下行链路预算卫星侧参数信道参数用户侧参数 上行链路预算链路预算计算示例 下行链路预算 卫星侧参数 令卫星侧天线数为 M t M_t Mt​,每根天线…

解析静态链接

文章目录 静态链接空间与地址分配相似段合并虚拟地址分配符号地址确定符号解析与重定位链接器优化重复代码消除函数链接级别静态库静态链接优缺点静态链接 一组目标文件经过链接器链接后形成的文件即可执行文件,如果没有动态库的加入,那么这个可执行文件被加载后无需再进行重…

【C语言】函数递归

目录 1. 什么是递归 1.1 递归的思想: 1.2 递归的限制条件 2. 递归的限制条件 2.1 举例1:求n的阶乘 2.1.1 分析和代码实现 2.1.2 画图推演 2.2 举例2:顺序打印⼀个整数的每⼀位 2.2.1 分析和代码实现 2.2.2 画图推演 3. 递归与迭代…

从0到1:C++ 开启游戏开发奇幻之旅(二)

目录 游戏开发核心组件设计 游戏循环 游戏对象管理 碰撞检测 人工智能(AI) 与物理引擎 人工智能 物理引擎 性能优化技巧 内存管理优化 多线程处理 实战案例:开发一个简单的 2D 射击游戏 项目结构设计 代码实现 总结与展望 游戏…

线性调整器——耗能型调整器

线性调整器又称线性电压调节器,以下是关于它的介绍: 基本工作原理 线性调整器的基本电路如图1.1(a)所示,晶体管Q1(工作于线性状态,或非开关状态)构成一个连接直流源V和输出端V。的可调电气电阻,直流源V由60Hz隔离变压器(电气隔离和整流&#…

C语言编译过程全面解析

今天是2025年1月26日,农历腊月二十七,一个距离新春佳节仅一步之遥的日子。城市的喧嚣中,年味已悄然弥漫——能在这个时候坚持上班的人,真可称为“牛人”了吧,哈哈。。。。 此刻,我在重新审视那些曾被遗忘的…

谈谈出国留学文书PS写作中的注意事项

在上期,小编介绍出国留学文书PS正文写作的几个可以采用的技巧。总之在正文的写作中,要避免将PS写成个人简历的repetition。也就是说不要将你目前所做的事情再次在PS中重述一遍,留学PS不是对你的工作经历或者学习经历的重复,而是需…

汇编基础语法及其示例

1.汇编指令 1.1汇编指令的基本格式 <opcode>{<cond>}{s} <Rd> , <Rn> , <shifter_operand> <功能码>{<条件码>}{cpsr影响位} <目标寄存器> , <第一操作寄存器> , <第二操作数> 注&#xff1a;第一操作寄存器…

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证10)

基于Cookie传递token的主要思路是通过用户身份验证后&#xff0c;将生成的token保存到Response.Cookies返回客户端&#xff0c;后续客户端访问服务接口时会自动携带Cookie到服务端以便验证身份。之前一直搞不清楚的是服务端程序如何从Cookie读取token进行认证&#xff08;一般都…

Ollama 运行从 ModelScope 下载的 GGUF 格式的模型

本文系统环境 Windows 10 Ollama 0.5.7 Ollama 是什么&#xff1f; Ollama 可以让你快速集成和部署本地 AI 模型。它支持各种不同的 AI 模型&#xff0c;并允许用户通过简单的 API 进行调用 Ollama 的安装 Ollama 官网 有其下载及安装方法&#xff0c;非常简便 但如果希…

SpringBoot 整合 SSM

文章目录 SpringBoot 整合 SSM第一步&#xff1a;使用 Spring Initializr 创建项目第二步&#xff1a;现在配置类中配置数据库第三步&#xff1a;进行 MyBatis 相关操作编写数据表对应的实体类创建 mapper 接口利用 MyBaitsX 插件快速创建 xml 文件创建 Mapper 接口 SQL 实现在…

护眼好帮手:Windows显示器调节工具

在长时间使用电脑的过程中&#xff0c;显示器的亮度和色温对眼睛的舒适度有着重要影响。传统的显示器调节方式不仅操作繁琐&#xff0c;而且在低亮度下容易导致色彩失真。因此&#xff0c;今天我想为大家介绍一款适用于Windows系统的护眼工具&#xff0c;它可以帮助你轻松调节显…

基于Python的人工智能患者风险评估预测模型构建与应用研究(下)

3.3 模型选择与训练 3.3.1 常见预测模型介绍 在构建患者风险评估模型时,选择合适的预测模型至关重要。不同的模型具有各自的优缺点和适用场景,需要根据医疗数据的特点、风险评估的目标以及计算资源等因素进行综合考虑。以下详细介绍几种常见的预测模型。 逻辑回归(Logisti…