- 在sendmsg.py中实现微信状态检查,确保客户端就绪、已登录及接收者有效性。 - 增强消息和文件发送逻辑,添加发送结果验证,记录详细的发送状态信息。 - 更新README.md,详细描述新增功能和使用方法,包括微信状态检查和多格式图片支持。
WXMSG - 微信消息自动发送程序
功能概述
这是一个自动发送每日AI新闻图片和消息到微信的程序,具有完整的日志记录、错误处理和微信状态检查功能。
主要功能
- 定时发送: 每天在指定时间自动发送图片和消息
- 容错机制: 微信失败时自动发送飞书提醒
- 详细日志: 完整的操作日志记录,便于问题排查
- 进程管理: 支持后台运行和进程控制
- 微信状态检查: 自动检查微信客户端状态和接收者有效性
- 智能重试: 支持多种图片格式,自动重试机制
新增功能
微信状态检查
程序现在会自动检查:
- 微信客户端是否就绪
- 微信是否已登录
- 接收者是否存在于联系人列表
- 当前会话数量和联系人数量
- 微信窗口状态
发送结果验证
使用wxauto的WxResponse对象验证:
- 文件发送是否成功
- 消息发送是否成功
- 详细的发送状态信息
- 部分失败时的智能处理
多格式图片支持
支持多种图片格式:
- .jpg
- .jpeg
- .png
日志功能
日志文件位置
所有日志文件保存在 wxauto_logs/ 目录下,按日期和模块分类:
sendmsg_YYYYMMDD.log- 主发送模块日志scheduler_YYYYMMDD.log- 定时任务调度器日志send_openmsg_YYYYMMDD.log- 飞书提醒消息日志send_filemsg_YYYYMMDD.log- 文件未找到提醒日志service_runner_YYYYMMDD.log- 后台服务启动日志stop_scheduler_YYYYMMDD.log- 进程停止日志
日志级别
- INFO: 正常操作信息
- WARNING: 警告信息
- ERROR: 错误信息
- DEBUG: 调试信息
日志内容
每个日志条目包含:
- 时间戳
- 模块名称
- 日志级别
- 函数名和行号
- 详细消息
使用方法
1. 直接运行
python sendmsg.py
2. 启动定时任务
python scheduler.py
3. 后台运行
python service_runner.py
4. 停止服务
python stop_scheduler.py
5. 测试微信状态
python test_wechat_status.py
配置说明
在 config.py 中配置:
- 发送时间
- 文件路径
- 消息内容
- 飞书API配置
故障排查
查看日志
- 检查
wxauto_logs/目录下的最新日志文件 - 根据时间戳找到相关操作的日志
- 查看ERROR级别的日志了解错误详情
常见问题
- 微信客户端问题: 查看
sendmsg_*.log中的微信初始化日志 - 文件未找到: 检查文件路径配置和文件是否存在
- 飞书API问题: 查看
send_openmsg_*.log和send_filemsg_*.log - 进程管理问题: 查看
service_runner_*.log和stop_scheduler_*.log
微信状态检查
运行测试脚本检查微信状态:
python test_wechat_status.py
这将显示:
- 微信客户端状态
- 登录状态
- 接收者有效性
- 可用方法列表
日志示例
2024-01-15 11:40:00 - sendmsg - INFO - check_wechat_status:45 - ✅ 微信已登录,当前会话数量: 15
2024-01-15 11:40:00 - sendmsg - INFO - check_wechat_status:52 - ✅ 接收者 '文件传输助手' 存在于联系人列表中
2024-01-15 11:40:00 - sendmsg - INFO - send_daily_message:120 - 🎉 所有内容发送完成!
2024-01-15 11:40:00 - sendmsg - INFO - send_daily_message:125 - 发送结果总结:
2024-01-15 11:40:00 - sendmsg - INFO - send_daily_message:126 - 📎 文件发送: ✅ 成功
2024-01-15 11:40:00 - sendmsg - INFO - send_daily_message:127 - 💬 消息发送: ✅ 成功
依赖要求
- Python 3.13+
- wxauto
- lark-oapi
- schedule
- psutil (可选,用于进程管理)
注意事项
- 确保微信客户端已登录
- 检查文件路径配置是否正确
- 验证飞书API配置是否有效
- 定期检查日志文件大小,避免占用过多磁盘空间
- 运行前建议先执行
test_wechat_status.py检查微信状态
更新日志
v0.2.0
- 添加微信状态检查功能
- 使用WxResponse验证发送结果
- 支持多种图片格式
- 改进错误处理和日志记录
- 添加微信状态测试脚本
v0.1.0
- 基础消息发送功能
- 定时任务调度
- 飞书提醒机制
- 基础日志记录
Description
Languages
Python
100%