写这篇之前,我刚把公司里那套用了两年的"微信自动化方案"删了。
不是我心血来潮,是因为我真的,受够了。

受够了什么?

受够了为了发一条群消息,要先去翻 itchat 的 issue,看看这周它又被封了没;
受够了对着一堆 hook DLL 调 RPA,写一行业务代码要配三页文档;
受够了每个新人入职都要被那套自研"微信中间层"折磨两周,还没碰过真正的需求。

直到我刷到一个叫 wechatbot-py-sdk 的东西。

抱着"再被坑一次也无所谓"的心态,我打开终端,敲了一行:

pip install wechatbot-py-sdk

7 秒后,我写下了我职业生涯中最短的"微信机器人 Demo":

from wechatbot import WeChatBotClient
client = WeChatBotClient()

response = client.message.send_text(
    "wxid_xxxxxxxxxxxxxxxx",
    "Hello!",
    "wx_U8AINW21ZNiwMxxxxxxxx"
)
print(response)

就这? 对,就这。

回车,消息到了。没有扫码报错,没有 KeyError: 'wxsid',没有半夜被微信版本更新打回原形。
那一瞬间我脑子里只有一句话:“这玩意儿要是早出来一年,我能少加 200 小时班。”


一、它到底解决了什么?

一句话:把微信生态里所有你想自动化的事,封装成了你最熟悉的 client.xxx.yyy()

你不用再去看协议文档,不用研究 XML,不用知道什么是 appmsgsilk
你只要会点 Python,就能写出一个能干活的微信号。

WeChatBotClient 一上来就给你挂好了 10 个子模块:

子模块 你能干嘛
client.auth 登录、token 管理
client.message 文本/图片/语音/视频/文件/链接/名片/表情/小程序/位置,全发
client.group 群管理:建群、踢人、改公告
client.personal 个人资料、状态
client.contact 联系人增删改查
client.label 给联系人打标签
client.favorite 收藏
client.sns 朋友圈
client.finder 视频号
client.download 下载图片/语音/视频/文件

朋友,朋友圈和视频号都给你封好了
你要做的不是"对接微信",你做的是"调 SDK"。这两件事的差别,写过的人都懂。


二、爽点拆解:到底比以前爽在哪?

爽点 1:心智模型只有 1 个 —— client.模块.动作()

  • 发文本?client.message.send_text(...)
  • 发图片?client.message.send_image(...)
  • 发文件?client.message.send_file(...)
  • 撤回消息?client.message.revoke_msg(...)
  • 转发别人发来的视频?client.message.forward_video(...)

命名一致到你不用查文档就能猜对方法名。 IDE 联想一按,全出来。

爽点 2:参数顺序是"人话",不是"协议"

看一眼 send_text 的签名:

send_text(to_wxid, content, token, at_list=None)

发给谁、发什么、用哪个号发、要不要 @ 谁。
和你跟产品经理对需求时说的话,是一一对应的。
群里 @ 人?at_list=["wxid_xxx"],没了,不用拼字符串,不用

爽点 3:返回值是干净的 dict,错误也是 dict

{
    "ret": -1,
    "msg": "系统或网络异常: ...",
    "data": None
}

网络炸了不会抛一个奇怪的 ConnectionResetError 让你的定时任务崩在凌晨三点。
它把异常包成结构化结果,你只要 if res["ret"] != 0 就能写出生产级别的健壮逻辑。

爽点 4:多账号天然支持

注意 send_text 的第三个参数 token —— 这是账号维度的凭证。
也就是说同一个 client 实例可以同时驱动 N 个微信号,你不需要 N 个进程,不需要 N 份配置。

做客服系统、做 SCRM、做群发矩阵,都是天生的。


三、3 行代码能做什么?我的真实业务清单

我把上面那 3 行 demo 改了改,一个下午搞定了下面这一坨原本要排期两周的需求:

  • 每天早 9 点,把昨日订单汇总文本推到 5 个客户群(send_text + at_list
  • 客户在群里发"对账单",机器人自动回发 Excel(send_file
  • 销售离职后,把他名下 200 个客户自动改打"待分配"标签client.label
  • 新签客户自动拉群 + 发欢迎语 + 发产品手册 PDFgroup + message
  • 客户朋友圈互动数据每晚回流到我们的数据仓库client.sns + client.download

写完测完上线,我老板看了一眼代码量,问我:“就这?”

是的,老板,就这。


四、写给还在犹豫的你

如果你正在做下面任何一件事:

  • 给公司搭企业微信 / 个人微信的自动化客服
  • 做 SCRM、私域增长工具
  • 做 AI Agent 但卡在"怎么让 Agent 在微信里说话"
  • 给运营同学做一个能自动发周报的小机器人
  • 仅仅是想让你妈每天早上自动收到一条"今天天气"

你都该花 7 秒钟试一下:

pip install wechatbot-py-sdk

然后把开头那段 3 行代码贴进去,改一下 wxidtoken,回车。

消息到的那一刻你会理解,为什么我标题里说"打了一整天工"。
因为它真的,就是那么简单。


写代码的人最浪漫的事,就是用别人封装好的轮子,去造自己的火箭。
wechatbot-py-sdk 就是这种轮子。
剩下的火箭,交给你了。

更多推荐