近期,微信又一次大规模封禁非官方接入行为。微信群中频繁传出账号“功能受限”、“永久封禁”的消息,几乎所有基于 hook 或逆向协议的框架都中招了。
不少开发者表示,“一觉醒来,机器人没了,号也没了。”
为什么?因为这些框架绕过了微信的安全机制,风险极高,官方也明确表示打击。

包括并不限于:
手把手搭建微信机器人,帮你雇一个24小时在线的个人 AI 助理(上)

借 WeChatFerry 东风,我把微信机器人复活了!

搭建微信机器人的第4种方式,免费开源,轻量高效

正解来了:推荐新方案 wxauto

经过多番测试和验证,我找到了一套更稳定、安全的新解决方案 —— wxauto。

wxauto 的核心优势:

  • 免逆向,非 Hook,远离封号风险
  • 基于自动化控制,模拟人类直接操作电脑版微信
  • 开源透明,可灵活集成 ChatGPT 等 AI 服务
  • 本地部署,无需公网地址或服务器
  • 实测稳定,搭配一些小技巧,可以实现“秒回”、“智能问答”等功能。

这是他的文档:

https://docs.wxauto.org/plus/

虽然分为付费和免费版,但是我觉得免费版已经够用了
在这里插入图片描述
运行需要有python环境,这里对py和电脑版微信的版本有要求:

在这里插入图片描述
首先笔者用的是:python-3.10.6-amd64,可以去官网下载
然后微信一定要用3.9的
在这里插入图片描述
然后必须关闭更新:
在这里插入图片描述

首先,需要安装一下机器人所需要的依赖:
官网是这么写:

1. 开源版 
pip install wxauto

2. ✨Plus版 
pip install wxautox

# 或指定python版本安装:
py -3.12 -m pip install wxautox

但是我建议这么装(走国内的镜像,不然下载巨慢):

pip install --index-url=https://pypi.tuna.tsinghua.edu.cn/simple wxauto

装完之后,新建一个py文件,复制他的demo代码:

from wxauto import WeChat   # 开源版
# from wxautox import WeChat   # ?Plus版

# 初始化微信实例
wx = WeChat()

# 发送消息(who可以是群聊名称,也可以是联系人名称)
wx.SendMsg("你好", who="测试微信机器人")

# 获取当前聊天窗口消息
msgs = wx.GetAllMessage()

for msg in msgs:
    print('==' * 30)
    print(f"{msg.sender}: {msg.content}")

运行之后如图所示:
在这里插入图片描述
如果想做个接口:
可以安装一下这个依赖:

pip install --index-url=https://pypi.tuna.tsinghua.edu.cn/simple flask

然后用我的测试代码:

from flask import Flask, request, jsonify
from wxauto import WeChat

app = Flask(__name__)
wx = WeChat()  # 初始化微信

@app.route('/send', methods=['POST'])
def send_message():
    data = request.get_json()
    message = data.get('message')
    receiver = data.get('to', '文件传输助手')  # 默认发送给文件传输助手

    if not message:
        return jsonify({'code': 400, 'msg': 'message不能为空'}), 400

    try:
        wx.SendMsg(message, who=receiver)
        return jsonify({'code': 200, 'msg': f'已发送: {message}'})
    except Exception as e:
        return jsonify({'code': 500, 'msg': f'发送失败: {str(e)}'}), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5001)  # 本地服务在 http://localhost:5001

调用方式

效果如下:
在这里插入图片描述

效果是不错的,但是注意的是:
一定要让微信处于登录状态,而且顺序是,先登录微信,在开启服务!因为程序运行会获取微信的近程句柄。所以,当微信重启了,程序也一定重启

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐