从0到1搭建微信机器人:wxauto 微信自动化实战指南

📅 2026/8/16 11:12:46
从0到1搭建微信机器人:wxauto 微信自动化实战指南
从0到1搭建微信机器人wxauto 微信自动化实战指南【免费下载链接】wxautoWindows版本微信客户端非网页版自动化可实现简单的发送、接收微信消息简单微信机器人项目地址: https://gitcode.com/gh_mirrors/wx/wxauto群公告要挨个人、好友申请点到手软、同一句话要对不同的人重复说三遍——如果你每天都被这些微信琐事困住那 wxauto 就是为你准备的工具。它是一个基于 Windows UIAutomation 技术的 Python 库直接操控微信桌面客户端非网页版不依赖任何协议逆向就能实现消息自动发送、接收以及简单的微信机器人功能。本文不按官方文档顺序平铺介绍而是用一条「从发消息到自动值班」的成长主线带你边解决真实痛点边掌握它。先想清楚微信自动化到底能替你省下什么很多人在手动重复操作时心里会有一个隐约的疑问这些动作真的能被程序代替吗答案是肯定的前提是你做的事符合两个特征操作路径固定比如打开某个窗口→输入文字→点发送触发条件明确比如收到某人的消息→回一句话。wxauto 的原理就是模拟人眼和人手——它读取微信窗口上肉眼可见的界面元素再像人一样点击、输入、滚动。这意味着它不需要微信开放任何接口普通账号就能用这也是它和那些容易封号的网页版机器人最大的区别。想清楚这一点下面的每一段代码就有了明确目的不是背 API而是把我的重复劳动翻译给电脑听。第一站三步打通环境先让第一条消息发出去不管后续要做什么第一步永远是让库跑起来用一次成功的发送给自己建立信心。环境要求并不复杂三样缺一不可操作系统Windows 10 / 11 / Server 2016 及以上微信客户端3.9.X 桌面版必须已经登录窗口保持打开Python3.9 及以上获取源码并安装依赖在终端执行git clone https://gitcode.com/gh_mirrors/wx/wxauto cd wxauto pip install .安装完成后写一个最小 Demo连接客户端给文件传输助手发一条测试消息。from wxauto import WeChat # 连接当前已登录的微信客户端 bot WeChat() # 发一条测试消息给文件传输助手验证链路是否打通 bot.SendMsg(微信机器人已上线测试成功, who文件传输助手)跑通之后你会看到文件传输助手里多了一条消息。别看它简单这背后完成了窗口定位、输入框聚焦、文本填入、点击发送一整串动作等于把人工发消息这个动作压缩成了一行代码。这条链路一旦打通后面所有功能都是在这条链路上叠加。发送消息的进阶玩法人、打字机效果与传文件如果你只把SendMsg当群发工具用就浪费了它一半的能力。日常运营中更高频的场景是在群里分工、发通知、给同事传资料。这三件事分别对应三个参数或方法。场景一群里 指定成员。SendMsg支持at参数一次可以 一个人或一组人bot.SendMsg(请各位把周报发到群里, who项目群, at[张三, 李四])场景二让消息像人打出来一样出现。如果担心过于机械可以用打字机模式SendTypingText它逐字输入文字视觉上和真人打字几乎一致还支持用{某人}语法在消息中间穿插 非常适合发分工说明bot.SendTypingText( 各位好\n{张三} 请负责前端部分\n{李四} 请负责后端部分, who项目群 )场景三把本地文件发出去。日报、表格、安装包一条命令搞定bot.SendFiles(filepathC:/reports/日报.xlsx, who张三)到这里发的能力你已经齐了。但只发不收还算不上机器人——接下来进入最有价值的听。让微信替你值班消息监听与自动回复怎么做自动化的最高价值是把你从必须盯着屏幕里解放出来。wxauto 提供的监听机制是给某个聊天窗口挂一个回调函数一旦有新消息进来函数就会被自动调用消息对象和窗口对象作为参数传给你。def on_message(msg, chat): # 判断消息来源friend 表示对方好友/群友发来的 if msg.attr friend: msg.quote(收到我会尽快处理) # 引用原话回复更像真人 bot.AddListenChat(nickname客户群, callbackon_message) # 监听是跑在后台守护线程里的必须让主线程挂起程序才不会退出 bot.KeepRunning()回调里的msg对象信息量很大msg.content是消息正文msg.type区分文本、图片、视频、语音、链接等类型msg.download()可以直接把图片视频存到本地msg.to_text()能把语音转成文字。把这些组合起来就是一个能自动存文件、自动应答的值班机器人def on_message(msg, chat): if msg.type in (image, video): msg.download() # 图片视频自动归档到本地 if msg.type text and 报价 in msg.content: msg.quote(报价单已整理好马上发您) # 关键词自动应答注意KeepRunning()这一步不能省——很多新手监听没反应不是代码写错而是主线程提前结束把守护线程一起带走了。把关系运营也自动化好友申请与群管理除了收发消息微信运营里还有两件高频杂事通过好友申请和管理群。新好友申请可以一次性拉取逐个通过并自动设置备注和标签再也不用点一下、填一下pending bot.GetNewFriends(acceptableTrue) for f in pending: f.accept(remarkf好友_{f.name}, tags[wxauto来源])反向操作同样支持AddNewFriend可以用昵称、微信号或手机号主动搜索并发出申请还能指定验证消息、备注和朋友圈/仅聊天权限。群管理方面AtAll一键在群里 所有人发通知ManageGroup可以改群名、改群公告、改自己的群昵称AddGroupMembers/RemoveGroupMembers负责拉人踢人bot.AtAll(下午三点开会请准时到场, who工作群) bot.ManageGroup(name工作群·2026, notice新人请先看群公告)这些操作单独看都只是省几秒钟但叠加到每天几十次上省下的就是几十分钟而且不会累、不会漏。实战串联一个可落地的自动值班客服脚本现在把前面所有能力串成一个完整场景。假设你运营着两个群日常要做三件事新加的好友自动通过并打标签、群里有人问在吗自动应答、群里的图片视频自动备份。一个脚本就能全部覆盖from wxauto import WeChat bot WeChat() target_groups [客户群, 产品讨论群] def on_message(msg, chat): # ① 图片/视频自动下载备份防止过期被清理 if msg.type in (image, video): msg.download() # ② 命中关键词就自动应答避免客户干等 if msg.type text and 在吗 in msg.content: msg.quote(在的请问有什么可以帮您) # ③ 对所有目标群挂上同一个回调 for group in target_groups: bot.AddListenChat(nicknamegroup, callbackon_message) # ④ 新好友申请统一通过并打上运营标签 for f in bot.GetNewFriends(acceptableTrue): f.accept(remarkf新客_{f.name}, tags[潜在客户]) # ⑤ 常驻运行 bot.KeepRunning()跑上一天你就会发现图片自动归档了、重复问题自动回复了、好友申请一个不落地进通讯录了。而你真正要做的只是决定脚本什么时候下班。你可能踩的坑wxauto 高频问题排查清单自动化工具的特性是环境敏感以下是新手最容易碰到的几个坑提前了解能省下大量排查时间连不上微信或找不到窗口确认微信是 3.9.X 版本且已登录、主窗口没有被最小化到托盘或完全遮挡。窗口在后台但可见即可锁屏状态下不要跑监听。程序跑几秒就退出99% 是因为没调用KeepRunning()主线程结束把监听线程带走了。好友搜不到、发错对象搜索好友时留意exact参数同名较多时设置精确匹配群内成员则以群昵称为准。GetFriendDetails慢到怀疑人生这个方法约 0.5~1 秒处理一个好友好友多时先传n10小范围测试不要一上来拉全量。想要的功能找不到方法先翻项目自带的文档目录docs/里面按WeChat、Chat、Message等类拆得很细比直接读源码快得多。请务必合规使用该库仅用于 UIAutomation 技术的学习交流作者明确声明禁止用于生产项目、商业用途和非法场景请自行评估风险并遵守微信使用规范。下一步照着这份清单开始动手不用等看完所有文档再动手直接按下面的节奏来今天装好依赖跑通第一条SendMsg确认发送链路没问题明天给一个不重要的群挂上AddListenChat实现收到关键词就回复周末把上面的值班客服脚本跑起来观察它替你省下了多少手动操作之后按需查阅项目内docs/文档探索转发、合并转发、朋友圈、多开等更多能力。工具的价值从来不是会写而是跑起来的那一刻。现在就去把第一条消息发出去——你的微信自动化之旅从这一行代码开始。【免费下载链接】wxautoWindows版本微信客户端非网页版自动化可实现简单的发送、接收微信消息简单微信机器人项目地址: https://gitcode.com/gh_mirrors/wx/wxauto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考