wx4py - Python 微信自动化工具
Project description
你是否遇到过这些场景?
- 🔁 每天给多个群发相同通知 —— 手动一个个发送,浪费时间又容易漏掉
- 📁 同一个文件要分发到多个群 —— 反复拖拽上传,操作繁琐
- ⏰ 想定时发送消息 —— 比如每天下午5点提醒提交日报,但微信没有定时发送功能
- 📊 需要分析群聊记录 —— 想统计活跃度、提取关键讨论,却没法导出数据
- 🛠️ 批量管理多个群 —— 设置公告、免打扰、置顶,一个个点太麻烦
- 🤖 想让 AI 帮我操作微信 —— 不想写代码,只想说一句话就完成操作
如果你有以上任何困扰,wx4py 可以帮你解决。
wx4py 能做什么?
一句话群发通知
from wx4py import WeChatClient
with WeChatClient() as wx:
wx.chat_window.batch_send(
["技术部", "产品部", "运营部"],
"【通知】明天下午3点开会",
target_type='group'
)
效果:3个群同时收到通知,告别手动逐个发送。
定时自动提醒
import schedule
def remind_daily_report():
with WeChatClient() as wx:
wx.chat_window.batch_send(
["研发一组", "研发二组"],
"【提醒】请提交日报",
target_type='group'
)
schedule.every().day.at("17:00").do(remind_daily_report)
效果:每天下午5点自动发送,无需人工介入。
文件批量分发
with WeChatClient() as wx:
# 一份周报,发送到3个部门群
wx.chat_window.send_file_to(
"技术部", r"C:\周报\weekly.pdf", target_type='group'
)
wx.chat_window.send_file_to(
"产品部", r"C:\周报\weekly.pdf", target_type='group'
)
wx.chat_window.send_file_to(
"运营部", r"C:\周报\weekly.pdf", target_type='group'
)
效果:同一文件快速分发到多个群,省去反复上传的麻烦。
群公告一键更新
with WeChatClient() as wx:
# 批量更新多个群的公告
for group in ["项目群A", "项目群B", "项目群C"]:
wx.group_manager.modify_announcement_simple(
group,
"本周重点:完成用户模块开发"
)
效果:多个群的公告同时更新,保持信息同步。
聊天记录导出分析
import pandas as pd
with WeChatClient() as wx:
messages = wx.chat_window.get_chat_history(
"项目讨论组",
target_type='group',
since='week' # 本周的聊天记录
)
# 导出为 CSV
df = pd.DataFrame(messages)
df.to_csv("chat_history.csv", index=False)
# 统计消息类型分布
print(df['type'].value_counts())
效果:聊天记录导出为 CSV,可用 Excel 打开分析。
群成员列表获取
with WeChatClient() as wx:
members = wx.group_manager.get_group_members("技术交流群")
print(f"群成员数: {len(members)}")
# ['张三', '李四', '王五', ...]
效果:一键获取完整成员列表,可用于统计分析。
更多便捷操作
| 你想做的事 | 一行代码 |
|---|---|
| 发消息给联系人 | wx.chat_window.send_to("张三", "你好") |
| 发消息给群 | wx.chat_window.send_to("工作群", "收到", target_type='group') |
| 发文件 | wx.chat_window.send_file_to("文件传输助手", r"path\file.pdf") |
| 搜索联系人/群 | wx.chat_window.search("张三") |
| 设置群昵称 | wx.group_manager.set_group_nickname("工作群", "我的新昵称") |
| 开启免打扰 | wx.group_manager.set_do_not_disturb("工作群", enable=True) |
| 置顶聊天 | wx.group_manager.set_pin_chat("重要群", enable=True) |
让 AI 帮你操作微信
不想写代码?在 Claude Code 或 OpenClaw 中直接对话:
帮我给文件传输助手发一条消息:测试成功
AI 会自动生成代码并执行。详见 AI Skill 使用指南。
为什么选择 wx4py?
| wx4py | 其他方案 | |
|---|---|---|
| 支持微信版本 | 最新 4.x | 多数只支持旧版/Mac版 |
| 安装难度 | pip 一键安装 | 需要配置复杂环境 |
| 使用门槛 | 5分钟上手 | 需要深入了解底层 |
| 稳定性 | 完善的错误处理 | 容易崩溃中断 |
| AI 集成 | 直接支持 Claude Code | 无 |
快速开始
安装
pip install wx4py
环境要求
- Windows 10/11
- Python 3.9+
- 微信客户端 4.x(已测试 4.1.7.59、4.1.8.29)
第一次使用
from wx4py import WeChatClient
# 连接微信(需要微信已登录并运行)
with WeChatClient() as wx:
# 给文件传输助手发条消息测试
wx.chat_window.send_to("文件传输助手", "wx4py 连接成功!")
运行后,你的微信会自动发送这条消息。
AI Skill 快速使用
在 Claude Code 或 OpenClaw 中复制以下内容:
安装并使用 wx4py skill。
技能地址:https://raw.githubusercontent.com/claw-codes/wx4py/main/wx4-skill/SKILL.md
1、执行命令 pip install wx4py 安装所需库。
2、将 wx4py skill 安装至本地的 skills 目录,并在工具文档和记忆系统中记录该技能。
3、阅读 skill 文档后,向我说明如何与你进行对话以使用该技能。
安装后,直接用自然语言对话:
帮我给工作群发消息:明天9点开会
AI 会自动完成操作。
常见问题
Q: 需要保持微信前台运行吗?
是的,操作时微信窗口需要在前台。建议在专用机器或空闲时段运行自动化任务。
Q: 聊天记录能获取发送者吗?
微信 4.x 的 UI 不暴露发送者信息,这是技术限制,暂无法获取。
Q: 会被封号吗?
wx4py 模拟真实用户操作,不修改微信客户端。但仍建议:
- 控制发送频率
- 避免大量群发营销内容
- 使用非重要账号测试
Q: 支持哪些微信版本?
目前支持微信 4.x 版本,已测试:
- 4.1.7.59
- 4.1.8.29
更新记录
完整版本更新说明请查看 CHANGELOG.md。
许可证
本项目采用 AGPL-3.0 许可证,附加商业使用限制。
- ✅ 个人学习、研究、非商业用途
- ❌ 未经授权的商业使用
- 💼 商业授权请联系:sgdygb@gmail.com
详见 LICENSE。
免责声明
本软件仅用于技术研究和学习目的。使用者需遵守相关法律法规和平台规则。因违规使用导致的任何后果(账号封禁等)由使用者自行承担。
详见 LICENSE 中的完整免责声明。
如果这个项目帮你节省了时间,请给一个 Star ⭐
Made with ❤️
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wx4py-0.1.3.tar.gz.
File metadata
- Download URL: wx4py-0.1.3.tar.gz
- Upload date:
- Size: 103.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5938aa6cf3f0f464e03794c7b036ef27a530b06e3b059bb9b3c10311f3f60ca0
|
|
| MD5 |
1cf21b12df06e4c4f5900c9065ecb712
|
|
| BLAKE2b-256 |
1dfe8ca4c8cfe70ebf207914bcf9b94c47f2e9346ae39e119236c34d8ecf890e
|
File details
Details for the file wx4py-0.1.3-py3-none-any.whl.
File metadata
- Download URL: wx4py-0.1.3-py3-none-any.whl
- Upload date:
- Size: 101.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e440d1b1cfd0509cbe8d5d4405560f204b064d447b9ffeb03ffa99ec15f3d53b
|
|
| MD5 |
7a463d38282e38318b5c67956af55343
|
|
| BLAKE2b-256 |
bc46925a8833ac974cc5fa2b743dfdf9581a837c9a75bce79ac3e345f57b4dc6
|