这是一个基于 Java 开发的微信自动化工具,专门用于 MacOS 系统下的微信消息发送。
该工具提供三个核心功能:单人消息发送、批量个性化消息发送和Excel比对提醒功能。
使用前,请仔细阅读下述内容。
- MacOS 操作系统
- Java 15 或更高版本
- Maven 3.6 或更高版本
- 微信 Mac 客户端 (Version. 3.8.8 (28585))
可使用以下命令查询用法:
java -jar SenderAndRemainder-1.0.jar
该功能允许向单个微信好友发送一条消息。
使用方法:
java -jar SenderAndRemainder-1.0.jar send <联系人> <消息内容> <发送前确认(true/false)>
参数说明:
- 联系人:微信好友的昵称
- 消息内容:要发送的文本消息
- 发送前确认:是否在发送前显示确认对话框(true/false)
示例:
java -jar SenderAndRemainder-1.0.jar send "张三" "你好,这是测试消息" true
该功能支持同时向多个好友发送不同的个性化消息。
使用方法:
java -jar SenderAndRemainder-1.0.jar batchsend <receiver.json路径> <发送前确认(true/false)>
配置文件格式(receiver.json):
[
{
"name": "张三",
"message": "你好张三,这是给你的特别提醒1"
},
{
"contact": "李四",
"message": "你好李四,这是给你的特别提醒2"
},
{
"contact": "王五",
"message": "你好王五,这是给你的特别提醒3"
}
]
参数说明:
- receiver.json路径:消息配置文件的路径
- 发送前确认:是否在发送每条消息前显示确认对话框 (true/false)
该功能通过比对两个Excel文件,找出缺失的姓名名单并发送提醒消息。
使用方法:
java -jar SenderAndRemainder-1.0.jar remainder <提醒消息> <参考Excel路径> <对比Excel路径> <发送前确认(true/false)>
参数说明:
- 提醒消息:要发送给缺失名单的统一消息内容
- 参考Excel路径:作为基准的Excel文件路径
- 对比Excel路径:需要进行比对的Excel文件路径
- 发送前确认:是否在发送每条消息前显示确认对话框(true/false)
Excel文件要求:
- 文件格式:必须是.xlsx格式
- 表头要求:必须都包含"姓名"列
- 数据要求:姓名尽量与微信好友昵称匹配
- 表格结构:第一行必须是表头
-
使用前准备:
- 确保微信已登录并保持在前台
- 发送消息过程中,请不要处理其他任务,保持微信界面在前台
- 尽量保证联系人昵称与微信好友昵称匹配
- 确保Excel文件格式正确
- 确保系统已授予相应权限
-
权限设置:
- 允许Java程序控制电脑
- 允许程序访问辅助功能
- 允许程序访问文件系统
-
建议:
- 批量发送时建议设置适当的时间间隔
- 建议单次批量发送不超过50条消息
- 发送前仔细核对名单准确性
-
找不到联系人:
- 检查联系人昵称是否与微信匹配
- 确认该联系人是否为你的微信好友
- 检查微信是否正常登录
-
Excel文件读取错误:
- 确认文件路径是否正确
- 检查文件格式是否为.xlsx
- 验证是否包含"姓名"列
- 确保文件未被其他程序占用
-
权限相关错误:
- 检查系统偏好设置中的安全性与隐私
- 确保程序具有必要的操作权限
- 重启程序或系统后重试
本项目使用以下技术栈:
- Java 17
- Apache POI (Excel处理)
- AppleScript (MacOS自动化)
- Maven (项目管理)
- Jackson (JSON处理)
- Log4j2 (日志管理)
- v1.0: 初始版本,实现基础功能添加批量发送功能,添加Excel比对功能,优化性能
欢迎提交Issue和Pull Request来帮助改进这个项目。提交时请:
- 清晰描述问题或改进建议
- 提供复现步骤(如果是bug)
- 遵循项目的代码规范
本项目采用 MIT 许可证。