YuYuWechat
YuYuWechat copied to clipboard
一个让微信 自动发送消息,定期循环发送消息,群发消息的小工具🚀
🌧️YuYuWechat
一个让微信定期自动发送消息,定期循环重复发送消息,群发消息的小工具🚀
✨功能特点
✅定期发送消息:按计划在设定的日期发送消息⏰
✅循环发送消息:可设定周期性重复发送消息🔄
✅自动发送消息:自动检查时间并在对应时刻发送消息🤖
✅群发消息:一次性向多个好友发送消息👥
✅可部署在服务器上,使用链接访问:便于远程管理和操作(Gradio的share功能)🌍
计划增加功能:
- [ ] 定期发送功能精确到分钟(目前精确到天)⏱️
- [ ] 发送消息后检查好友的回复,收到特定回复执行特定操作(如开始新循环或不再发送)🔍
- [ ] 格式化消息,方便轻松针对不同好友发送不同消息,不需要每个好友都写一遍发送的消息✍️
1. 介绍
本人的工作涉及定期给微信好友发送消息,无奈手动发送实在太累了还容易出错,因此做了这个小工具🛠️, 并用之前折腾AI的三脚猫功夫做了一个前端(Gradio)方便使用🎨
2. 运行
直接运行编译好的exe文件(推荐)💾
在 Releases 界面下载最新编译好的exe文件,双击运行👆
从源码运行💻
安装依赖
pip install -r requirements.txt
运行
python GradioMain.py
3.详细介绍
Excel表格📊
管理发送消息需要一个Excel文件,需要4列信息:
-
接收人
-
消息内容
-
发送日期
-
循环日期
如图所示:
接收人
:可以是微信好友的备注名或者微信号,只要在搜索结果中排名第一
消息内容
:要发送的消息
发送日期
:消息发送的日期,此列需要在Excel中设置为日期格式
循环日期
:消息循环发送的增量,此列需要在Excel中设置为文本格式,格式为年-月-日
如0-0-1
表示每天发送一次,0-1-0
表示每月发送一次
我已经在项目根目录里做好了一个示例的excel,也可以直接下载下来更改内容📂ExcelExample.xlsx
运行原理
程序开始运行,会从表格中发送日期
列筛选日期为今天的用户,然后发送对应的消息
发送消息后,会给发送日期
加上循环日期
,实现循环发送日期,
例如今天是2024/4/1
,符合日期条件的有用户A
和用户B
,
给用户A
发送消息后,会把发送日期
增加一个月,变成2024/5/1
,
给用户B
发送消息后,会把发送日期
增加一年一月一天,变成2025/5/2
,
这样就实现了循环发送消息的功能
自动发送信息则是在以上基础上,每分钟检查一次时间,到达发送时间
则发送消息
4.运行步骤
打开程序,会自动打开浏览器🌐,
选择仅发送一次消息
,或者设置自动发送消息
⏲️,
按照提示填好信息,我在网页最下面写好了一个示例
📝,可直接点击应用或根据实际情况填写,
点击发送
按钮,即可发送消息✅
注意事项:发送消息时不要操作键盘鼠标,不然可能导致发送失败
在自动发送消息
中的发送时间
格式为HH:MM,如08:00
,18:00
,23:59
等
5.额外功能
局域网内访问
服务器启动YuYuWechat后,同时会监听本机端口,局域网内的其他设备只需要访问ip:7860即可,如192.168.50.62:7860
如果想要自定义端口,请在GradioMain.py
里的demo.launch(inbrowser=True,show_api=False,server_name="0.0.0.0",server_port=7860)
自行修改
6.每个文件详细作用
-
GradioMain.py
:主程序,运行此文件即可打开前端🖥️ -
GradioMain.spec
:Pyinstaller编译配置文件,可以直接运行pyinstaller GradioMain.spec
编译🔧 -
AutoSendMessage.py
:自动发送消息定时器⏲️ -
AutoWechat.py
:微信自动化各种操作🤖 -
ProcessedExcel.py
:处理Excel表格,读取数据等📑 -
SendMessageOnce.py
:发送消息的主要逻辑💬 -
WechatLocale.py
:微信语言映射🌐
7.一些问题的解决方法
1. 打开程序没有反应
- windows的bug,有的时候需要在控制台(小黑黑窗口那个)按一下回车
2. Find Control Timcoutll0s): {Dcpth: 15, Name:'发送(S)'ControlType: ButtonControl}
这种错误
参考#5,这个问题一般是微信版本问题,当前最新版本3.9.10.27
(2024/6/5)是没问题的,遇到问题先更新一下微信版本
3.关于发送微信群消息
发送微信群消息和给好友发送消息是一样的,接受人那一列填群名就可以了,不过在微信群@特定的人,这个功能目前还无法使用
8.感谢
感谢以下项目的启发和帮助
如果这个小工具正好对你有帮助,欢迎点个star⭐,谢谢!
有问题欢迎提issue,我会尽快回复📬
有更多需求或者想要更多功能,也欢迎提issue📈