最近想实现一个微信自动客服机器人,其中首先要解决的是如果通过api来通过程序发微信的消息。微信公众号是有专门的api来实现给关注公众号的用户发消息,这个我以前实现过,但是这个不是我想要的。我希望通过第三方的库,能直接给联系人,或者群发消息。
在网上搜索研究了一圈,大致有下面的几种方式:
-
itchat
- 实现:基于微信网页版协议模拟登录,通过HTTP请求操作微信
- 特点:代码简洁(30行内实现机器人),但功能限于基础消息收发。
- 风险:高频操作易触发风控,2017年后新账号可能无法登录网页版
- 场景:适合短期测试或非核心账号的简单自动化。
-
wxpy
- 特点:支持消息撤回、群聊统计等扩展功能,但底层仍依赖网页协议。
- 风险:同itchat,长期使用稳定性差
- 场景:快速搭建个人微信机器人(如自动回复、群管理)。
-
Wechaty
- 实现:支持多协议(如Web版、PadLocal付费协议),通过Token连接服务
- 特点:
- 跨平台(Node.js/Python/Java),插件生态丰富。
- 付费协议(如PadLocal)稳定性高,支持消息加密
- 风险:免费协议易被封;付费协议(≈¥30/月)降低风险
- 场景:需长期运行的客服机器人或企业内部助手。
-
werobot
- 实现:基于微信公众号官方API,需配置服务器接收消息
- 特点:专注公众号开发,支持中间件和消息路由,但无法操作个人号。
- 风险:合规使用无封号风险(官方接口)
- 场景:公众号自动回复、菜单事件处理、模板消息推送。
-
wechatpy
- 实现:微信公众平台和企业微信的完整SDK,覆盖OAuth、支付等接口
- 特点:功能全面(如用户管理、素材上传),适合复杂业务逻辑。
- 风险:企业微信API需合规申请,个人号不支持
- 场景:企业微信集成、公众号高级功能开发。
-
wxauto
- 实现:通过UI自动化控制微信客户端(模拟鼠标/键盘操作)
- 特点:不依赖协议,支持文件传输、聊天记录读取等本地操作。
- 风险:无协议风控,但操作效率低,仅限Windows
- 场景:定时批量发送通知、固定流程的重复操作(如每日报表推送)。
因为微信不允许第三方库来发消息,所以这些库普遍都有被封号的危险。我把Wechaty搭起来试了一下,结果刚一扫码登录,就报检测到异常,然后微信都封了我的扫码登录15天。太危险了!大家在试这些api的时候一定要小心。后来又试了一下wxauto,这个是基于UI自动化操作的,需要安装微信的桌面客户端,它只是模拟用户,直接在微信桌面客户端上操作,所以这个应该是最安全的。因为所有的消息都是微信桌面客户端直接发送的,微信服务器不会认为这是一个非法的客户端,只要发送消息的频率不要太高,操作不要太频繁,基本上不会有危险。
还看到一个库是通过安装浏览器插件,通过浏览器插件操作微信web客户端来发送消息。但是这个也有个问题,微信web客户端会检测插件,如果检测到有非法的插件,也会报错。
微信自动发消息的需求还是挺大的,但是这不被官方允许,大家一般做什么选择,可以留言聊一下。
以下是为各个开源库的GitHub官方仓库URL作为参考:
-
itchat
- GitHub地址:https://github.com/littlecodersh/ItChat
- ⭐ 27k stars | 📌 基于网页版协议的微信机器人框架
-
wxpy
- GitHub地址:https://github.com/youfou/wxpy
- ⭐ 5.2k stars | 🚀 itchat的增强版,支持更友好的API
-
Wechaty
- GitHub地址:https://github.com/wechaty/wechaty
- ⭐ 16.6k stars | 🌐 跨语言框架,支持多协议(免费网页版+付费协议)
-
werobot
- GitHub地址:https://github.com/offu/WeRoBot
- ⭐ 3.6k stars | 🤖 专注微信公众号开发的轻量级框架
-
wechatpy
- GitHub地址:https://github.com/wechatpy/wechatpy
- ⭐ 3.3k stars | 🧩 微信公众平台/企业微信全功能Python SDK
-
wxauto
- GitHub地址:https://github.com/cluic/wxauto
- ⭐ 1.1k stars | 🖱️ Windows微信客户端自动化工具(UI操作)