🌧️YuYuWechat:微信定时循环发送消息,批量群发消息的小工具🚀
项目介绍
-
一个让微信(非WEB版)定时循环发送消息/文件(cron表达式精确到分钟),批量群发消息,定时检查聊天记录的小工具🚀,提供了简易直观的界面,并支持邮箱报警等功能,可部署到任意平台。
✨功能特点
✅群发消息:一次性向多个好友发送不同的消息👥
✅自动发送消息:自动检查时间并在对应时刻发送消息🤖(基于cron表达式,可精确到分钟)
✅循环发送消息:cron表达式可设置任意循环作业🔄
✅定时检测聊天记录,并根据检测结果提醒🔍
✅可靠性保证:日志记录以及自动错误检测,可保证定时任务不遗漏执行🔍
✅登录认证保护:登录保护,保证数据安全性🔒
✅全平台支持,轻松部署在服务器上,服务端部署在win平台接受客户端的请求,客户端可部署到任意平台🌍
服务组件介绍
YuYuWechatV2_Server服务端
-
服务端是一个轻量的服务器,和微信一起安装在win上。
服务端完全与客户端脱耦,接受http请求来对微信进行自动化操作,你也可以自己写一个客户端来调用服务端的接口。
服务端接受以下请求:
-
wechat/ping
:检查服务端是否正常运行,返回'status': 'pong'
-
wechat/send_message
:发送消息,接受json格式的数据name
、text
,并对微信进行自动化操作 -
wechat/check_wechat_status
:检查微信是否正常运行 -
wechat/get_dialogs
:获取聊天记录
并发保证
-
服务端有消息队列和互斥锁,只需要把消息发送给服务端,服务端会自动处理消息队列,保证消息依次发送,所以你还可以部署多个客户端对同一个服务端发送消息
YuYuWechatV2_Client客户端
-
客户端是一个轻量的前端,可以在任意平台上运行,通过网络请求发送消息给服务端。
客户端功能
-
首页
:功能概览 -
日志
:查看客户端函数调用情况的日志,方便调试和检测错误,正常情况下是不会失败的,失败说明函数调用出现问题了,有可能出现漏发消息,发错消息,数据保存失败的情况,需要注意⚠️ -
错误检测
:检测客户端的各种功能是否正常以及定时任务是否遗漏 -
发送消息管理
:批量发送消息 -
定时任务管理
:定时发送消息 -
邮箱报警
:自动检测错误,并且发送错误信息到指定的邮箱上 -
数据管理界面
:管理数据库内容,编辑发送消息
截图预览
-
首页管理界面,在这里,可以概览系统的所有功能。
-
登录保护,保证数据安全性。
-
批量发送消息
-
定时发送消息
-
定时发送文件
-
定时检测聊天记录,并根据检测结果提醒。
-
错误检测
-
自动检测错误,并且通过邮件报警,及时处理错误。
-
后台管理界面,对消息数据进行增删改。
部署教程
部署方式
-
此教程编写于2024年10月23日,使用项目版本:
V2.11.1-2024/10/10
,PC微信客户端版本:3.9.12.15
,推荐使用小号进行测试。 -
服务端运行在Windows系统上,测试使用Windows11专业版22H2。
-
服务端因为要始终保持有画面输出,维持服务端的UI检测,所以推荐使用虚拟机运行在NAS上。
-
客户端使用Docker部署,支持x86和arm的docker镜像,Windows/mac/Linux的x86和arm架构均可运行。
-
客户端可以部署多个对接服务端,演示将不做这么复杂,仅部署一个,详细的可前往GitHub项目查看作者讲解。
-
电脑上登录微信客户端(为保证兼容性,建议不要安装2024年10月微信新改版更新的客户端版本,避免无法运行。)
确保Windows不锁屏
-
YuYuWechatV2_Server需要GUI界面,所以需要保证Windows不会锁屏。
-
首先在电源选项里设置不永不关闭屏幕
-
然后到注册表里设置不锁屏
使用win键+r键运行命令工具,在里面输入下面的命令,然后Enter键确认。 gpedit.msc
-
找到不显示锁屏选项,设置为已启用。
部署服务端
-
为了简化服务端配置,请把微信安装在
C:/Program Files/Tencent/WeChat/WeChat.exe
,这个位置是默认的微信安装位置。 -
⚠️如果你微信安装在其他地方,启动服务端后,请访问
http://127.0.0.1:8000/admin/wechat_app/wechatconfig/1/change/
,用户名admin
,密码tykWyr-bepqu6-fafvym
,手动修改微信的安装位置。 -
注意windows的路径分隔符是
\
,但是在python中\
是转义字符,所以需要用/
代替,例如:Windows资源管理器复制出来文件路径是:`C:\Program Files\Tencent\WeChat\WeChat.exe` 但是在后台中需要写成:`C:/Program Files/Tencent/WeChat/WeChat.exe
-
在项目版本的
release
界面找到最新的版本,下载YuYuWechatV2_Server.exe
和YuYuWechatV2_Server_run.bat
。GitHub项目release地址:https://github.com/xieyumc/YuYuWechat/releases
-
两个文件放在同一个目录下,双击
YuYuWechatV2_Server_run.bat
即可运行(默认端口是8000,若冲突了请自行修改bat文件指定端口)。⚠️Windows的bug,有的时候若是打开bat没反应,需要在控制台(小黑黑窗口那个)按一下回车。
-
运行成功,这个记得不要关。
-
打开浏览器,访问上面显示的地址,可以看到一个页面。
-
电脑上打开
Windows PowerShell
,在里面执行这一条命令,查看返回信息。curl http://127.0.0.1:8000/wechat/ping
-
正常会返回下面的信息
-
执行下面的命令测试发送消息,这个命令会给
文件传输助手
发送一条消息hi
。$jsonData = '{"name": "文件传输助手", "text": "hi"}' Invoke-WebRequest -Uri http://127.0.0.1:8000/wechat/send_message/ -Method Post -Headers @{"Content-Type"="application/json"} -Body $jsonData -ContentType "application/json; charset=utf-8"
-
命令执行成功
-
程序会自动调用微信客户端发送消息,画面变化:微信客户端跳到前台,自动搜索威胁传输助手,自动发送消息。
(如执行命令显示失败,可退出微信客户端重新打开,重新执行上面的命令。) -
在
linux
/mac
系统上测试命令如下打开终端软件 测试服务端是否正常运行 curl -X GET http://替换成服务器的ip地址:8000/wechat/ping/ 发送消息 curl -X POST http://替换成服务器的ip地址:8000/wechat/send_message/ -H "Content-Type: application/json" -d '{"name": "文件传输助手", "text": "hi"}'
部署客户端
-
演示在飞牛NAS系统上部署客户端
(其他系统请自行安装好最新版本Docker、docker compose) -
打开NAS的SSH功能,使用终端软件进行连接,并切换到root状态下。
-
打开NAS的文件管理器,随意进入一个文件夹(也可以新建一个Docker文件夹,多这一步是为了照顾小白。),右键文件夹选择详细信息(属性),点击复制原始路径。
-
在终端软件内执行下面的命令
# 把/vol1/1000/Docker换成自己的文件夹路径 cd cd /vol1/1000/Docker
-
创建项目文件夹及子文件夹
# postgres_data是用于存储数据库文件 mkdir -p YuYuWechat/postgres_data
-
进入项目文件夹
cd YuYuWechat
-
编辑docker-compose.yml模板文件
- 感谢你赐予我前进的力量