微信机器人,支持自动发送消息 基于微信桌面客户端的自动化消息发送工具
支持图形界面操作、定时任务和API接口调用。该工具通过模拟人工操作微信界面,实现消息的自动发送,无需额外的微信API和扫码登录。适用于个人助手、定时提醒、批量通知等多种场景。 实现原理
- 通过模拟操作系统API调用微信桌面客户端
- 使用PyAutoGUI模拟键盘鼠标操作,定位和操作微信界面元素
- 通过Windows API对微信窗口进行查找和激活
- 通过剪贴板传输文本消息内容,提高消息输入效率
- 利用多线程处理消息队列,提高发送效率和稳定性
功能特性
- 现代化界面: 基于PyQt5构建的美观、易用的图形界面
- 消息发送: 支持单个或批量发送消息给微信好友
- 定时任务: 支持标准Cron表达式的定时消息发送任务
- API接口: 内置Flask API服务器,支持通过HTTP请求发送消息
- 实时日志: 应用内实时显示日志,方便监控和调试
- 动态内容: 支持通过API获取动态消息内容
- 配置持久化: 自动保存和加载配置和任务列表
- 易于分发: 支持打包为单文件可执行程序
- 秒级定时: 支持精确到秒的定时任务执行
- 消息队列: 内置消息队列,避免消息堆积和阻塞
系统要求
- Windows 10/11 操作系统
- 已安装并登录的微信桌面客户端
- Python 3.8+(开发环境)或直接运行打包后的程序
- 显示器分辨率最低1280x720
- 推荐以管理员权限运行(以便访问系统API)
安装说明
环境准备
- 确保已安装并登录微信桌面客户端
- 确保微信窗口可以正常显示和操作
- 管理员权限运行(推荐,以便访问系统API)
方法1: 运行打包版
- 下载最新的发布版本
- 解压文件到合适的目录
- 直接运行微信机器人.exe文件
打包成exe文件
- # 安装打包依赖
- pip install pyinstaller pillow
- # 使用打包脚本
- python build.py
复制代码 详细使用方法
发送消息
- 切换到"发送消息"选项卡
- 从接收输入框中输入接收者,点击"添加"
- 在消息框中输入要发送的内容
- 点击"发送消息"按钮
- 观察日志区域了解发送状态
设置定时任务
- 切换到"定时任务"选项卡
- 点击"添加任务"按钮
- 填写任务名称和消息内容
- 添加接收者列表
- 选择执行时间方式:
- 每日时间: 选择特定的时间点
- Cron表达式: 设置复杂的定时规则
- 秒级精度: 勾选后可设置秒级定时
- 可选择API URL以动态获取消息内容
- 点击"确定"保存任务
- 在任务列表中可以管理、编辑或立即执行任务
API使用方法
程序启动后会自动开启API服务,默认端口为5000。您可以通过设置菜单修改端口。 常见问题解决
微信无法自动启动或激活
- 确保已安装微信并已登录
- 检查程序是否具有管理员权限
- 在设置中手动指定微信安装路径
- 可能需要关闭微信的某些安全设置
- 检查是否有多个微信实例同时运行
无法发送消息
- 检查微信是否正常运行并显示在前台
- 确认接收者名称完全正确,区分大小写
- 检查日志中是否有具体错误信息
- 尝试减慢发送频率避免触发微信的风控机制
- 确保没有其他应用干扰微信窗口的激活
定时任务未执行
- 检查系统时间是否准确
- 确认应用保持运行状态
- 验证Cron表达式格式是否正确
- 查看日志确认调度器状态
- 检查任务是否被禁用
API服务无法访问
- 确认当前端口(默认5000)未被其他应用占用
- 检查防火墙设置是否允许该端口的访问
- 尝试使用127.0.0.1替代localhost进行测试
- 检查API服务是否已启动(状态栏有显示)
- 如需外网访问,确保已正确配置网络设置
应用界面显示异常
- 尝试调整系统DPI设置
- 确保显示器分辨率至少为1280x720
- 重新启动应用
- 检查是否安装了所需的依赖库
关闭时程序未完全退出
- 使用任务管理器检查是否有残留进程
- 使用程序内的"退出"按钮而不是直接关闭窗口
- 检查日志中是否有线程未正常关闭的警告
性能优化建议
- 发送频率控制:每次发送间隔建议不少于1-2秒
- 批量发送:单次群发不建议超过20个接收者
- 定时任务并发:避免设置多个同时执行的定时任务
- 内存占用:长时间运行时,可定期重启应用
- 日志清理:定期清理日志文件夹,避免占用过多磁盘空间
提取码下载 :
|