六、常见问题
不同获取消息的方法有什么区别
wxauto中,有以下获取消息的方法,除GetAllMessage之外,其余方法均用于获取新消息
方法 | 说明 |
---|---|
GetAllMessage | 获取当前聊天页面中已加载的消息 |
GetNextNewMessage | 获取微信主窗口中,其中一个未设置消息免打扰窗口的新消息 |
AddListenMessage | 获取监听模式下聊天窗口的新消息 |
监听模式
AddListenMessage
调用AddListenMessage方法将目标聊天窗口独立出去加入监听列表,获取新消息,并触发回调函数来处理每一条消息
优点
- 准确
- 读取速度快
缺点
- 数量限制,最多设置40个监听对象
全局模式
GetNextNewMessage
获取所有微信主窗口中,未被设置为消息免打扰的窗口中的新消息
优点
- 没有数量限制,无差别获取所有窗口新消息
缺点
必须进行UI操作,速度可能相较监听模式慢些
该方法原理是获取会话列表中,聊天对象头像上的未读消息角标数字来判断新消息数,然后切换到该聊天窗口,获取新消息
为什么会掉线
掉线是微信3.9.9及以后的版本中加入的机制,客户端频繁操作导致的
plus版本会掉线吗
会,手动操作频繁也会掉线,是微信客户端的机制
如何规避
- 加延迟时间
- 用3.9.8版本客户端
- plus版本提供自动登录、获取二维码操作
会封号吗
该项目基于Windows官方API开发,不涉及任何侵入、破解、抓包微信客户端应用,完全以人操作微信的行为执行操作
但是如果你有以下行为,即使手动操作也有风控的风险:
- 曾用hook类或webhook类微信工具,如dll注入、itchat及其衍生产品
- 频繁且大量的发送消息、添加好友等,导致风控
- 高频率发送机器人特征明显的消息,导致被人举报,致使行为风控
- 扫码手机与电脑客户端不在同一个城市,导致异地风控
- 低权重账号做太多动作,低权重账号可能包括:
- 新注册账号
- 长期未登录或不活跃账号
- 未实名认证账号
- 未绑定银行卡账号
- 曾被官方处罚的账号
- …
掉线怎么办
掉线是微信客户端在3.9.9+版本以后新增的安全机制,主要发生在微信号在陌生电脑设备登录后触发,不会涉及封号,没有完美解决方案,以下提供两个思路:
- 微信号在同一台电脑养至可快速登录,几乎不会掉线,再进行wxauto托管
- 想办法使用3.9.8版本微信客户端,完全不掉线(绕过微信版本检测的风险自行承担)
- plus版本提供掉线检测、二维码获取、自动登录等方法
支持Linux/Mac吗
不支持,基于windows官方API开发,只支持windows系统
Plus版本后台模式是什么
后台模式即不依赖鼠标移动,绝大部分场景无需将微信调到前台窗口即可进行操作,但是有些操作必须要微信在前台才可以操作成功,例如获取发送者详情信息等;
大部分场景下:
- 不抢占鼠标
- 执行速度快
- 窗口不必在桌面顶部也能操作
是否支持微信多开
wxauto项目不支持一切违反官方用户协议的操作,不建议、不支持、不提供微信多开的方法或行为。
但是如果你自行使用其他方法多开微信,plus版本可用WeChat(nickname='xxx')
来区分,但wxauto不承担由你自行多开的行为导致的风险,也不保证所有功能的正常调用。
为什么安装成功但是无法导入
检查下安装wxautox的环境与你运行环境是否同一个python环境。
PyCharm默认会给你的项目创建一个虚拟环境,需要在虚拟环境中安装才可以调用
如果不清楚如何使用虚拟环境安装,可问 AI “怎么用pycharm的虚拟环境安装本地离线whl包”
支持企业微信吗
不支持。法律风险较高,影响腾讯收入,严抓
如果你的企业开启了在个人微信中接受企业消息的功能,可以在个人微信手动将企业微信群拖出来使用wxauto监听模式进行操作
提示
该项目为模拟操作,即模拟用户鼠标键盘操作微信客户端的行为,系统、网络、硬件等个体差异较大,
有什么限制
- 不可以发布到公共平台
- 不可以做违法的事情
- 个人或内部使用,不允许商业软件厂商进行集成
会持续更新吗
订阅期为1年,订阅期内更新免费,订阅过期后不提供更新服务,已获取的版本仍可继续使用
可以最小化吗
可以但是不建议。
wxauto项目本身是ui自动化,最小化会导致窗口ui绘制更新慢,自动化效率低