用 wxauto 实现微信自动化:4 个实战脚本,让机器人替你回消息、转消息、存消息
用 wxauto 实现微信自动化4 个实战脚本让机器人替你回消息、转消息、存消息【免费下载链接】wxautoWindows版本微信客户端非网页版自动化可实现简单的发送、接收微信消息简单微信机器人项目地址: https://gitcode.com/gh_mirrors/wx/wxauto深夜十一点房产中介小林还在给第八位客户重复粘贴同一条看房须知。按下发送键的那一刻他突然意识到如果这些机械动作能交给程序自己是不是就能准点下班这就是wxauto的用武之地——一个基于 Windows UI 自动化技术、专为微信 PC 客户端3.9.X 版本打造的自动化工具。这篇wxauto 教程将从四个真实痛点出发带你用四个可运行的 Python 脚本跑通微信自动化关键词自动回复、消息规则转发、聊天记录归档、定时任务。全部代码短小直白新手照着抄也能跑起来。开工准备装好 wxauto确认运行环境先交代三件事避免后面白忙活系统要求Windows 10/11微信必须使用 3.9.X 版本Python 3.9 及以上。安装方式命令一行搞定。pip install wxauto想体验最新代码也可以把仓库克隆到本地再以开发模式安装git clone https://gitcode.com/gh_mirrors/wx/wxauto cd wxauto pip install -e .安装完成后先手动打开电脑上的微信并登录保持主窗口可见再跑一段冒烟测试from wxauto import WeChat wx WeChat() # 初始化成功会打印当前登录账号昵称 wx.SendMsg(你好这是wxauto的测试消息, who文件传输助手) msgs wx.GetAllMessage() # 读取当前窗口最近的消息 for m in msgs[-3:]: print(m.sender, -, m.content)能正常收发环境就绪可以进入正题了。痛点一同样的问题每天回答几十遍试试关键词自动回复看房客户问来问去无非是地址、首付、过户、报价。与其复制粘贴不如维护一张问题 → 标准话术对照表让机器人替你应答。下面是完整的wxauto 自动回复 代码核心思路轮询所有新消息 → 关键词命中 → 自动回复 → 去重防刷屏。from wxauto import WeChat import time # 话术对照表把客户高频问题映射到标准答案 faq { 地址: 我们门店在望京SOHO T1座1806地铁15号线望京东站C口步行约5分钟, 看房时间: 本周二至周日 10:00-18:00 均可提前半小时和我约即可, 首付: 首套房首付最低20%具体看贷款政策方便的话电话细聊, 过户: 过户一般7到15个工作日材料我们全程跟进, 报价: 这套房挂牌450万价格可谈您的心理价位大概多少, } wx WeChat() # 初始化微信自动化实例 replied set() # 已处理消息的去重集合防止同一消息被反复回复 def auto_reply_loop(): print([启动] 关键词自动应答开始监听...) while True: try: # GetAllNewMessage() 一次性带回所有会话的新消息返回 {会话名: [消息...]} for session, msg_list in wx.GetAllNewMessage().items(): for m in msg_list: mark (session, m.id) # 会话名消息id 作为唯一标记 if mark in replied or not m.content: continue for word, answer in faq.items(): if word in m.content: # 命中关键词 wx.SendMsg(answer, whosession) print(f[已回复] {session}{answer[:18]}...) replied.add(mark) break time.sleep(2) # 每2秒轮询一轮 except Exception as e: print(f[异常] {e}5秒后自动重试) time.sleep(5) if __name__ __main__: auto_reply_loop()运行说明保持微信主窗口打开直接python auto_reply.py即可。想临时下线直接关闭终端即可不会对微信造成任何影响。痛点二重要消息被刷屏淹没让规则帮你自动转发小林最头疼的其实是漏消息——客户半夜发来合同有变没人转发第二天才发现。转发的逻辑可以拆成两类规则按来源转发某个客户的消息必须进哪个群和按关键词上报出现紧急打款等字眼就汇总。这段微信消息自动转发脚本把两类规则都实现了from wxauto import WeChat import time wx WeChat() # 路由表来源会话 - 要转发到的目标会话列表 route_table { 客户A: [销售复盘群, 领导同步群], 供应商: [采购对接群], } # 关键词表任意会话出现这些词统一上报到汇总群 alert_words [紧急, 合同, 打款, 违约, deadline] def forward_loop(): print([启动] 消息自动转发服务运行中...) done set() while True: try: for session, msg_list in wx.GetAllNewMessage().items(): for m in msg_list: mark (session, m.id) if mark in done: continue content m.content or # 命中来源路由按路由表分发到多个群 if session in route_table: body f【转发自{session}】{m.sender}{content} for target in route_table[session]: wx.SendMsg(body, whotarget) print(f[路由转发] - {target}) # 命中关键词原文带前缀上报 elif any(w in content for w in alert_words): body f【紧急同步】{session} 的 {m.sender} 说{content} wx.SendMsg(body, who消息汇总群) print(f[关键词上报] {content[:30]}...) done.add(mark) time.sleep(2) except Exception as e: print(f[异常] {e}稍后重试) time.sleep(5) if __name__ __main__: forward_loop()运行说明把route_table里的会话名替换成你自己的真实名称SendMsg发送时会自动切换到对应会话无需手动点窗口。痛点三聊天记录靠人肉整理写个脚本一键归档每周写客户跟进周报时小林都要翻几十个聊天窗口逐条复制至少耗掉半小时。利用 wxauto 的GetSessionList ChatWith GetAllMessage组合可以把所有会话的消息导出成 CSVExcel 直接打开就能用import csv from wxauto import WeChat wx WeChat() def archive_to_csv(outputchat_archive.csv): 遍历所有会话导出聊天记录为 CSVutf-8-sig 防止 Excel 乱码 rows [] sessions wx.GetSessionList() # 获取当前聊天列表 for name in sessions: try: wx.ChatWith(name) # 切换到对应会话 for m in wx.GetAllMessage(): # 读取该会话全部消息 rows.append({ 会话: name, 时间: getattr(m, time, ), 发送人: m.sender, 内容: m.content, 类型: m.type, }) except Exception as e: print(f[跳过] 会话 {name}{e}) with open(output, w, newline, encodingutf-8-sig) as f: writer csv.DictWriter(f, fieldnames[会话, 时间, 发送人, 内容, 类型]) writer.writeheader() writer.writerows(rows) print(f[完成] 共导出 {len(rows)} 条记录到 {output}) if __name__ __main__: archive_to_csv()运行说明脚本会按顺序逐个打开会话再读取会话较多时请耐心等待归档结果可配合 Excel 透视表做客户咨询分析。痛点四例行提醒总忘记定时任务替你按点上班早安问候、日报催收、带看群房源推送——这类每天固定时间干一次的活不必引入额外的定时库一个简单的轮询循环就能完成import time from datetime import datetime from wxauto import WeChat wx WeChat() def run_daily(hhmm, job): 每天 hhmm如09:00执行一次 job跨天自动重置 fired set() while True: now datetime.now() stamp now.strftime(%Y-%m-%d %H:%M) if now.strftime(%H:%M) hhmm and stamp not in fired: job() fired.add(stamp) # 只保留今天的触发记录第二天可再次触发 fired {t for t in fired if t.startswith(now.strftime(%Y-%m-%d))} time.sleep(20) # 每20秒检查一次时间误差可忽略 def morning_push(): wx.SendMsg(早上好今日新上房源已整理好记得查收, who带看群) print([定时任务] 09:00 晨间推送已发送) if __name__ __main__: run_daily(09:00, morning_push)运行说明改成你自己的群名和时间即可Windows 下把脚本设为开机自启或放入任务计划程序就能长期无人值守运行。避坑手册新手最容易翻车的 3 个地方坑一初始化失败或找不到会话控件现象WeChat()报错或SendMsg时提示找不到目标。 原因微信版本不是 3.9.X或微信没登录、窗口被最小化/遮挡。 对策先手动打开微信并登录代码里在WeChat()之后调用一次wx._refresh()刷新控件树发送前用wx.ChatWith(name)先定位会话成功率会高很多。坑二脚本跑一两个小时就卡死现象程序无响应或偶尔发消息没反应。 原因长时间运行后 UI 控件句柄失效属于自动化工具的常见问题不是 wxauto 独有。 对策把脚本拆成每 N 分钟处理一轮、每 1 小时自动重启一次的模式用threading起一个守护线程配合os.execv重启自身比追着修句柄省事得多。坑三同一条消息被回复/转发两次现象消息刚进来被处理了一次刷新后又被处理一次。 原因没有做消息去重。 对策示例里都用(会话名, msg.id)作为唯一标记存入集合处理前先查重——这是所有轮询类机器人必须养成的习惯。效果对比与下一步行动把上面的脚本拼起来小林的一天发生了这样的变化项目使用前使用后高频咨询回复每天手动回复 40 次自动应答释放约 2 小时/天重要消息转发平均漏转 5~8 条/周规则兜底漏转率为 0周报聊天记录整理手动复制约 40 分钟/周脚本秒级导出零耗时例行提醒靠脑子记偶尔忘定时任务100% 准点接下来你可以按这份清单继续深入先跑通冒烟测试确认本机环境可用从关键词自动回复入手跑通第一个完整机器人把路由表和话术表改成自己的真实业务数据尝试监听接口如AddListenChat配合消息回调做更精细的处理最后再把脚本接入任务计划程序实现长期无人值守。最后提醒一句wxauto 基于 UI 自动化实现请仅在个人学习与合理业务范围内使用遵守微信使用规范不要用于骚扰、刷屏或任何灰色场景。工具本身没有立场怎么用它取决于你。自动化不是为了偷懒而是把重复交给程序、把时间还给创造。今晚就让小林的故事发生在你身上。【免费下载链接】wxautoWindows版本微信客户端非网页版自动化可实现简单的发送、接收微信消息简单微信机器人项目地址: https://gitcode.com/gh_mirrors/wx/wxauto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

8年电力行业Java老兵,我决定用10个月转型AI大模型工程师

8年电力行业Java老兵,我决定用10个月转型AI大模型工程师

写了8年Java,一直在电力行业做后端开发。 Spring Boot、MyBatis-Plus、MySQL、定时任务——这套技术栈我闭着眼睛都能写。电力系统数据量大、合规要求高、实时性强,在这行深耕这些年,我对业务的理解算是比较深的。 但越做越觉得,有…

2026/9/30 8:49:27 阅读更多 →
Linux下Docker部署MySQL 8.0与远程连接配置指南

Linux下Docker部署MySQL 8.0与远程连接配置指南

1. 项目概述在Linux环境下使用Docker部署MySQL 8.0并配置远程连接,是当前开发环境搭建中的常见需求。这种方案相比传统安装方式具有显著优势:环境隔离、快速部署、版本切换灵活,特别适合需要频繁搭建测试环境的开发者和运维人员。我最近在多个…

2026/9/30 8:49:24 阅读更多 →
LivePortrait人像动画完整指南:零基础如何让静态照片自己动起来

LivePortrait人像动画完整指南:零基础如何让静态照片自己动起来

LivePortrait人像动画完整指南:零基础如何让静态照片自己动起来 【免费下载链接】LivePortrait Bring portraits to life! 项目地址: https://gitcode.com/GitHub_Trending/li/LivePortrait LivePortrait 是一款开源的人像动画工具,核心能力只有一…

2026/9/29 16:59:42 阅读更多 →

最新新闻

Jev本地模型接入Codex:用TypeSafe决策模型实现离线与云端的自动路由

Jev本地模型接入Codex:用TypeSafe决策模型实现离线与云端的自动路由

1. 先把 Jev、Codex、TypeSafe 这三个词放在同一张桌上 1.1 Jev 到底是个什么东西,它为什么值得接进 Codex 先交代背景。我最近一直在用 Codex 做终端里的编码代理,它能把“你帮我改一下这个模块”这种自然语言指令,拆解成改文件、跑测试、查…

2026/10/3 18:51:38 阅读更多 →
OpenShell:统一管理 Shell 配置,实现多机同步与高效终端工作流

OpenShell:统一管理 Shell 配置,实现多机同步与高效终端工作流

作为一个每天要在终端里待上大量时间的人,我一直有个很实在的诉求:自己积累的别名、快捷键、补全逻辑,能不能在换机器、重置环境之后一分钟恢复原状,而不是把半年攒下的配置再手动敲一遍。OpenShell这个项目,就是为了解…

2026/10/3 18:51:38 阅读更多 →
社区居家养老APP源码:MVP架构、SQLite表设计与避坑指南

社区居家养老APP源码:MVP架构、SQLite表设计与避坑指南

简介:一份基于Android的社区居家养老服务APP完整项目源码,面向移动开发学习者、毕业设计选题者及养老服务平台开发者。APP覆盖用户注册/登录、上门看病与康复护理预约、送药配送、营养餐推荐与定时配送、血压血糖等身体数据记录、按星级选择医护人员聊天…

2026/10/3 18:51:38 阅读更多 →
智能体训练专用沙箱基础设施:DSec弹性调度架构全解析

智能体训练专用沙箱基础设施:DSec弹性调度架构全解析

1. 为什么“训模型”和“训智能体”不能共用一套基础设施先讲一个我自己的经历。2024年年初,我们团队开始从“单模型训练”转向“智能体训练”——当时还没有DSec这套东西,第一反应是“直接复用现有的模型训练平台”。结果两周之内就被现实狠狠教育了一顿…

2026/10/3 18:51:38 阅读更多 →
本地Agent可观测性实践:四张SQLite证据表实现工具调用溯源与离线回归

本地Agent可观测性实践:四张SQLite证据表实现工具调用溯源与离线回归

最近在本地跑Agent的时候,我遇到一个特别现实的问题:任务一旦复杂起来,比如一次任务里连续调用七八个工具、中间还要根据前面的结果做多次判断,我根本看不明白Agent到底在想什么。更头疼的是,改动了一版prompt、调整了…

2026/10/3 18:51:36 阅读更多 →
小目标无人机检测与跟踪实战:从CVPR Anti-UAV Workshop到红外多模态攻坚

小目标无人机检测与跟踪实战:从CVPR Anti-UAV Workshop到红外多模态攻坚

每年CVPR都有大大小小不少Workshop,但老实说,绝大多数人只盯着主会论文,对Side Event基本是“刷个标题”就算看过了。不过2020年的Anti-UAV Workshop是个例外——至少对我这种常年跟安防视觉打交道的人来说,这个workshop的那点含金…

2026/10/3 18:50:35 阅读更多 →

日新闻

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南 【免费下载链接】ex-skill 前任 skill 项目地址: https://gitcode.com/gh_mirrors/exsk/ex-skill 前任.skill 是一个运行在 Claude Code 上的开源 Skill:导入微信、iMessage、短信、…

2026/10/3 0:00:27 阅读更多 →
45个经典Linux面试题:从命令到网络排障的完整考点解析

45个经典Linux面试题:从命令到网络排障的完整考点解析

刚开始带应届生的时候,我最头疼的就是他们拿着一摞Linux面试题背得滚瓜烂熟,一上机全露馅。后来自己从被面的人变成面别人的人,才慢慢摸清楚:Linux面试题考的根本不是答案本身,而是你面对一个不确定的系统问题时&#…

2026/10/3 0:01:28 阅读更多 →
SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

简介:本资源是一份面向SAP ABAP开发人员、生产计划专员及ERP实施顾问的实操型操作指南,聚焦SAP生产预留核心业务场景,系统解决物料预留创建、查询、校验与批量处理等高频问题。文档以结构化方式覆盖预留背景原理、OMC2编码规则、工厂级参数配…

2026/10/3 0:01:28 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/3 9:14:33 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 9:47:50 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/3 9:42:31 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →