首页 >PC >正文

威联通NAS使用webhook推送消息到企业微信

前言:一直使用的是威联通的nas,并且几年前在站里找到个教程是使用docker镜像lepark/wxpush,这个镜像可以推送到企业微信的应用上,现在搜索这个关键词还能搜到教程。不知道咋搞的9月底发现报错了,推送失败。网上相关信息也没咋找到,就不研究了,另辟蹊径,刚好最近用到企业微信的群机器人的webhook,在网上找了下没相关教程,就问GPT,尝试了下成功了,就记录下来。

也许脚本及一些命令可以优化,不过我不会,会的大佬优化一下可以出个新文章。

环境:

威联通nas,

python3,

企业微信的webhook地址,

另外一台能跑python3的主机(威联通也可以,不过要先装py3环境,然后再搞开机自启很麻烦,我有另外一台linux,就不折腾威联通了)

步骤一:

申请企业微信群机器人的webhook网上教程很多就不写了。

步骤二:

python脚本导入linux主机,脚本如下,并假如脚本文件名字为push.py,脚本中需要修改的仅有webhook的key和代码最后的端口,ip一般不需要改。此脚本AI写的,我只是小范围修改了。

from flask import Flask,request

import requests

import json

app = Flask(__name__)

# 企业微信的 Webhook URL,此处XXXX需要替换成自己的

WEBHOOK_URL = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXXXXXXXXXXXX'

# 接收 NAS 的通知

@app.route('/receive',methods=['GET'])

def receive_notification():

# 获取 URL 查询参数中的通知内容

username = request.args.get('UserName')

password = request.args.get('Password')

phone_number = request.args.get('PhoneNumber')

message_content = request.args.get('Text')

# 打印日志以供调试(可选)

print(f"收到通知 - 用户名: {username},密码: {password},电话: {phone_number},内容: {message_content}")

# 输出到企业微信的消息格式

wechat_message = {

"msgtype": "text",

"text": {

"content": f"NAS 消息通知:n内容: {message_content}"

}

}

# 通过企业微信的 Webhook 转发消息

response = requests.post(WEBHOOK_URL,headers={'Content-Type': 'application/json'},data=json.dumps(wechat_message))

if response.status_code == 200:

return "Notification sent to WeChat successfully",200

else:

return "Failed to send notification to WeChat",500

if __name__ == '__main__':

# 启动 Flask 服务,监听某个端口,此处需要修改XXX为不在用的端口号,0.0.0.0代表监听设备的所有ip,可以指定本机的某一个ip

app.run(host='0.0.0.0',port=XXXXXXXXXX)

步骤三:

给放了push.py的设备创建虚拟环境及安装脚本所需的依赖,懂得都懂,假如跟py脚本放在一个文件夹中,假如是root下,我的命令为

python3 -m venv push-venv输入后需要等待一会,root下就会生成一个push-venv的文件夹。然后输入下面的命令进入虚拟环境

source push-venv/bin/activate会发现控制台前会多了个(push-venv) 就是进去了。

然后安装依赖,等着就行,一个安装好了再安装另一个,需要看这步的一般第一次接触py,稳一点。

pip install flask

pip install request安装好了以后退出虚拟环境,命令如下

deactivate

此时未加入开机自启,允许py脚本的命令如下,可以看到控制台有输出了,什么http://ip:端口,此时脚本就前台运行了,ctrl+c是关闭脚本,暂时不要关,我们去步骤四。

/root/push-venv/bin/python3 /root/push.py

步骤四:

找到威联通,通知中心的如下的位置,点击进去

威联通NAS使用webhook推送消息到企业微信

提供商选择custom

威联通NAS使用webhook推送消息到企业微信

别名无所谓,URL模板如下,需要填入linux主机的ip及py脚本中你留的端口。暂时不要保存,右边有个小飞机一样的是测试。点击进去我们做个测试。页面中的电话号码输入1即可,没要求,发送看下企业微信的机器人是不是就收到了。

http://ip:端口/receive?UserName=@@UserName@@&Password=@@Password@@&PhoneNumber=@@PhoneNumber@@&Text=@@Text@@

威联通NAS使用webhook推送消息到企业微信

收到就成功了,没成功的就留言吧,成功后直接点击确定,下面的SMS服务器登录名称和SMS服务器登录密码不用填。

威联通NAS使用webhook推送消息到企业微信

步骤五:

就是给威联通创建通知规则了,如果不会就全选择上。

步骤六:

给linux主机创建py脚本开机自启,命令如下,写入/etc/rc.local的exit 0 之前就行,写入后重启设备看下效果。

/root/push-venv/bin/python3 /root/push.py &结语:祝你成功。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

网友评论

验证码 换一张
取 消
暂无评论...
三日内热门评论文章
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索