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

python脚本实现接入企微机器人

企业微信中的群聊机器人在日常办公中无处不在,对提升工作效率、保证消息及时送达提供了重要的技术保障。例如:DevOps助手、JIRA、构建通知等;还常常使用在运维服务器中配合Prometheus监控体系及时发送告警信息等

文章目录

  • 源码示例
  • Demo源码处理逻辑
    • 步骤一:获取json格式的参数
    • 步骤二:将json中的信息进行解析

源码示例

例子:广播每日天气

from doctest import debug_script
from pydoc import describe
from flask import jsonify
import requests
import simplejsonurl = "http://t.weather.itboy.net/api/weather/city/101010100"  # 替换为你要请求的URL
robot_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXX"def alert(shidu, pm25, quality, wendu, ganmao, forecast):content = "## **<font color=\"green\">天气预报</font>** \n>**湿度:** <font color=\"warning\">{0}</font>\n>**PM2.5:** <font color=\"warning\">{1}</font>\n>**空气质量:** {2}\n>**温度:** {3}\n>**感冒指数:** {4}\n>**日期:** {5}日\n>**最高温度:** {6}\n>**最低温度:** {7}\n>**风向:** {8}\n>**天气状况:** {9}\n {10}"params = simplejson.dumps({"msgtype": "text","text": {"content":content.format(shidu, pm25, quality, wendu, ganmao, forecast[0]['date'], forecast[0]['high'], forecast[0]['low'], forecast[0]['fx'], forecast[0]['type'], forecast[0]['notice']),"mentioned_list": ["@all"]}})return paramsdef webhook_url(params,url_key):headers = {"Content-type": "application/json"}"""*****重要*****"""url = "{}".format(url_key)r = requests.post(url,params,headers)# 发送GET请求
response = requests.get(url)
# 获取响应结果
data = simplejson.loads(response.text)
webhook_url(alert(data['data']['shidu'],data['data']['pm25'],data['data']['quality'],data['data']['wendu'],data['data']['ganmao'], data['data']['forecast']),  robot_url)

Demo源码处理逻辑

步骤一:获取json格式的参数

这个参数来自于你要处理的上游业务系统,例如你要实现一个服务器告警机器人,则你需要接收到告警的相关信息;例如你要实现一个广播天气情况的机器人,则你需要接收到天气相关json回参。

步骤二:将json中的信息进行解析

封装到符合企业微信机器人可以接收的消息格式中
企业微信机器人可以接受的消息格式:详见机器人配置说明
常用的两种:文本类型、markdown类型
文本类型:

{"msgtype": "text","text": {"content": "广州今日天气:29度,大部分多云,降雨概率:60%","mentioned_list":["wangqing","@all"],"mentioned_mobile_list":["13800001111","@all"]}
}

在这里插入图片描述
在这里插入图片描述

markdown类型:

{"msgtype": "markdown","markdown": {"content": "实时新增用户反馈<font color=\"warning\">132</font>,请相关同事注意。\n>类型:<font color=\"comment\">用户反馈</font>>普通用户反馈:<font color=\"comment\">117</font>>VIP用户反馈:<font color=\"comment\">15例</font>"}
}

在这里插入图片描述

在这里插入图片描述

使用区别:
markdown编辑内容模板更加丰富,可以突出重点;无法@人员
文本消息只能发送文本内容;支持@所有人/固定人员

(3)发送请求即可,发送成功后,企业微信机器人就会在群聊中发送自定义格式的消息内容。

http://www.lryc.cn/news/542288.html

相关文章:

  • 《论面向对象的建模及应用》审题技巧 - 系统架构设计师
  • 【Godot4.3】自定义圆角容器
  • 开源RAG主流框架有哪些?如何选型?
  • 【Microsoft PowerPoint for Mac】2分钟配置-MAC一键删除PPT中的所有备注
  • 【UML】统一建模语言 UML 基础
  • AWS S3深度解析:十大核心应用场景与高可用架构设计实践
  • 如何用Python 3自动打开exe程序
  • 计算机网络之路由协议(自治系统)
  • MFC笔记:本专栏课件
  • springboot集成jackson-dataformat-xml实现发送XML请求和XML响应参数处理
  • Spring Cloud Gateway 网关的使用
  • 超高速工业相机的应用
  • 学习笔记--电磁兼容性EMC
  • 利用开源小智AI制作桌宠机器狗
  • 基于PSO-LSTM长短期记忆神经网络的多分类预测【MATLAB】
  • Qt中C++与QML交互从原理、方法与实践陷阱深度解析
  • 基于SpringBoot和Leaflet的邻省GDP可视化实战
  • esp工程报错:something went wrong when trying to build the project esp-idf 一种解决办法
  • Grouped-Query Attention(GQA)详解: Pytorch实现
  • DeepSeek AI人工智能该如何学习?
  • 【数据库】【MySQL】索引
  • SprinBoot整合HTTP API:从零开始的实战指南
  • 可狱可囚的爬虫系列课程 13:Requests使用代理IP
  • DBeaver下载安装及数据库连接(MySQL)
  • 国产开源PDF解析工具MinerU
  • 消息中间件的开源实现
  • AcWing 299 裁剪序列
  • P2889 [USACO07NOV] Milking Time S
  • 基于Spring Boot的健康医院门诊在线挂号系统设与实现(LW+源码+讲解)
  • PyTorch-基础(CUDA、Dataset、transforms、卷积神经网络、VGG16)