Skip to content

YANCNN2013/AutoReply

Repository files navigation

微信自动回复脚本

一个基于 Python + PyAutoGUI 实现的微信消息自动回复工具,通过屏幕识别和键鼠模拟完成消息监控、回复的全自动化流程。

一、功能介绍

  • 自动定位并激活微信窗口
  • 监控微信聊天界面变化,检测到新消息时触发自动回复
  • 自动调用百度文心一言(chat.baidu.com)生成回复内容
  • 通过屏幕图像识别完成按钮点击、内容复制粘贴等操作
  • 支持Windows系统下的键鼠模拟,具备防点击失效的重试机制

二、环境要求

(一)系统要求

仅支持 Windows 系统(脚本中通过 os.name == "nt" 限制,MacOS,Linux 系统会直接退出)

(二)依赖安装

  1. 确保已安装 Python 3.7+ 版本
  2. 安装核心依赖包:
pip install pyautogui opencv-python pillow pywin32
  1. 注意:pyautogui 依赖 OpenCV,安装失败时可尝试:
pip install opencv-python==4.8.0.74

(三)自定义模块说明

脚本依赖以下两个自定义模块(需确保与脚本同目录):

  • up.py:包含 up_window() 函数,用于激活/置顶指定窗口(如微信)
  • message.py:包含 get_screen_roi()detect_screen_change() 函数,用于监控屏幕区域变化
  • check.py:包含 is_clipboard_image() , 用于检测复制是否成功

三、前置准备

  1. 准备识别用的图片文件(需与脚本同目录,已准备好):

    • button.png:需要点击的按钮截图
    • chinese.png:输入法中文状态标识截图(用于判断输入法状态)
    • copy_icon.png:复制按钮截图(用于复制生成的回复内容)
    • copy.png: 同copy_icon.png, 备用
  2. 微信设置

    • 确保微信打开,在任务栏中有微信图标

四、使用方法

  1. 将脚本文件(auto_reply.py)、自定义模块和识别用图片放在同一目录
  2. 打开微信
  3. 运行脚本:
python auto_reply.py
  1. 脚本启动后会有5秒倒计时,之后自动开始监控
  2. 终止脚本:按下 Ctrl + C 或将鼠标移到最左上角(0,0)即可停止运行

五、核心流程说明

  1. 首次运行时打开百度文心一言网页,后续运行时通过 Alt + Tab 切换窗口
  2. 检测输入法状态,若未切换至中文则自动按 Shift 切换
  3. 输入预设文字并粘贴剪贴板内容,发送生成的回复
  4. 识别并点击复制按钮,将回复内容复制到剪贴板
  5. 切换回微信窗口,粘贴并发送回复内容
  6. 持续监控屏幕变化,检测到新消息时重复上述流程

六、注意事项

  • 屏幕分辨率:脚本中的坐标(520, 911)是基于特定分辨率的,更换设备/分辨率后需重新调整坐标值
  • 图像识别精度confidence=0.9 表示图像匹配精度为90%,识别失败时可适当调低(如0.8),但过低会导致误识别
  • 权限问题:Windows系统下需以普通用户运行,管理员权限可能导致窗口激活失败
  • 防失效机制:按钮点击时会检测是否成功,若失败会触发备用点击逻辑
  • 安全提示:PyAutoGUI 的 FAILSAFE = True 表示将鼠标移至屏幕左上角可触发紧急停止,防止脚本失控

七、常见问题

Q1: 提示 FileNotFoundError

  • 检查图片文件是否存在、命名是否正确

Q2: 微信窗口无法激活

  • 确认 up.py 中的 up_window("微信") 函数能正确识别微信窗口名称
  • 关闭微信多开,仅保留一个微信窗口运行

Q3: 输入法输入内容乱码

  • 确保系统默认输入法为中文,且 chinese.png 能正确识别中文状态
  • 脚本中已添加 pyautogui.press("shift") 切换输入法,若仍失效可手动切换后再运行

八、免责声明

本脚本仅用于学习和个人自用,请勿用于商业用途或违反微信用户协议的场景,使用产生的一切风险由使用者自行承担。

About

A WeChat message auto-reply tool implemented based on Python + PyAutoGUI, which completes the fully automated process of message monitoring and replying through screen recognition and keyboard-mouse simulation.一个基于 Python + PyAutoGUI 实现的微信消息自动回复工具,通过屏幕识别和键鼠模拟完成消息监控、回复的全自动化流程

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages