当前位置: 首页 > news >正文

微信机器人开发实战:Wechaty SDK 从入门到 Token 服务化

想把微信变成可编程的接口?给业务加上自动回复、消息转发、群管理?Wechaty 是目前最成熟的微信个人号 Bot SDK,本文带你从零搭建一个属于自己的微信机器人。

## 架构一览

```
你的代码 (JS/Python/Go) → Wechaty SDK → Puppet (协议层) → 微信
```

Wechaty 本身是上层 API,真正和微信通信的是 Puppet。常用 Puppet:

| Puppet | 协议 | 状态 |
|--------|------|------|
| wechaty-puppet-wechat4u | Web 微信 | ✅ 免费可用 |
| wechaty-puppet-padlocal | iPad | 付费 |
| wechaty-puppet-service | Token 网关 | 自建 |

## 最小可用代码

6 行 JavaScript 启动一个 Bot:

```javascript
const { WechatyBuilder } = require('wechaty')
const bot = WechatyBuilder.build({ puppet: 'wechaty-puppet-wechat4u' })

bot.on('scan', qr => console.log('扫码:', qr))
bot.on('login', u => console.log('登录:', u.name()))
bot.on('message', m => console.log('消息:', m.text()))
bot.start()
```

跑起来就会打印二维码,微信扫码即上线。

## 实用功能清单

### 1. 消息路由

```javascript
bot.on('message', async (msg) => {
if (msg.self()) return // 忽略自己发的
if (msg.type() !== Message.Type.Text) return

const text = msg.text()
const talker = msg.talker()

if (text.includes('帮助')) await talker.say('发送"天气"查天气')
if (text.includes('天气')) await talker.say('今天晴,22°C')
if (text.includes('群号')) await talker.say('AI Agent全栈技术交流群:463866405')
})
```

### 2. 好友请求自动通过

```javascript
bot.on('friendship', async (friendship) => {
if (friendship.type() === Friendship.Type.Receive) {
await friendship.accept()
// 通过后发欢迎语
const contact = friendship.contact()
await contact.say('你好!我是 AI 助手,发送"帮助"查看功能')
}
})
```

### 3. 群管理 — 欢迎新成员

```javascript
bot.on('room-join', async (room, inviteeList, inviter) => {
const topic = await room.topic()
const names = inviteeList.map(c => c.name()).join('、')
await room.say(`欢迎 ${names} 加入「${topic}」!\n\n本群交流 AI Agent 开发,请先看群公告`)
})
```

### 4. HTTP API 桥接

把 Bot 包装成 HTTP 服务,外部系统也能调用:

```javascript
const http = require('http')
http.createServer(async (req, res) => {
const { contactName, text } = JSON.parse(await body(req))
const contact = await bot.Contact.find({ name: contactName })
await contact.say(text)
res.end(JSON.stringify({ ok: true }))
}).listen(9527)
```

## Token 模式:让你的 Bot 变成云服务

上面的模式只能在你自己机器上跑。如果想做成 SaaS,需要 Token 模式:

```
Token Server (Docker) → 绑定微信号扫码 → 对外暴露 gRPC 端口
→ 客户端拿 Token 远程调用 → 无需自己扫码
```

核心命令:

```bash
export WECHATY_PUPPET=wechaty-puppet-wechat4u
export WECHATY_TOKEN=***
export WECHATY_PUPPET_SERVER_PORT=8788

docker run -d --network=host \
-e WECHATY_PUPPET \
-e WECHATY_TOKEN \
-e WECHATY_PUPPET_SERVER_PORT \
wechaty/wechaty
```

Token 自动注册到 Wechaty 的 discovery 服务,客户端填入 Token 即可接入。这也就是市面上「微信机器人 Token」产品的底层原理。

## 踩坑记录

**400 != 400 错误** — wechat4u 协议偶尔会报这个,不影响使用,底层自动重试。

**联系人缓存** — `Contact.findAll()` 建议登录后立即执行并缓存,否则后续 find 可能查不到。

**扫码时效** — Web 微信二维码约 2 分钟有效,到期后需要重新生成。

**消息去重** — 微信可能重复推送同一条消息,业务侧需要做 id 去重。

---

> AI Agent 全栈技术交流群:463866405
> 原文发布于 https://blog.rmzdb.cloud | 由云宝自动同步


AI Agent 全栈技术交流群:463866405

原文发布于 https://blog.rmzdb.cloud/archives/109 | 由云宝自动同步

http://www.jsqmd.com/news/1019151/

相关文章:

  • VirtualRouter:将Windows电脑瞬间变为专业级无线热点
  • 2026 年柴油发电机组厂家深度测评推荐榜 专业选型参考指南 - GrowthUME
  • 【双MCU项目复盘与优化】03 - ESP32-S3驱动INMP441
  • 从零打造火星探测车:JPL开源火星车完整建造指南
  • AI Agent是下一代AI变革!懂与不懂的差距正在快速拉大,普通人如何抓住机遇?从概念到源码,系统拆解AI Agent核心原理
  • 3分钟终极指南:如何快速实现Figma界面中文汉化,提升设计效率300%
  • 石家庄莫奈包包回收,这些细节决定你能卖多少 - 奢侈品回收测评
  • 2026:中山古镇除甲醛公司横向测评|新房装修室内空气治理怎么选,综合对比后优先推荐中山佰家环保 - 专注室内空气检测治理
  • 2026六安装修公司深度测评推荐|本土装企实测避坑干货分享 - 信息热点
  • 2026年哈尔滨免费咨询律所推荐:专业视角下的客观评测与选型指南 - 信息热点
  • 石家庄爱彼回收避坑指南:看懂这些套路,卖表不再被牵着走 - 奢侈品回收测评
  • 终极字体合并解决方案:5分钟解决魔兽世界字体乱码问题
  • 秒账进存销一体推荐 - 信息热点
  • 如何用WeChatMsg永久保存你的微信记忆,并训练专属AI伴侣?
  • 2026年6月液位计仪表公司哪家靠谱,金属套温度计仪表/液位控制器仪表/磁性翻板液位仪表,液位计仪表厂家推荐 - 品牌推荐师
  • 【2026最新】武汉技工院校排名,武汉三新高级技工学校校企合作领先 - GrowthUME
  • Ruby Facets原子化加载教程:按需引入扩展方法的最佳实践
  • 2026年五家AI漫剧工具横评:技术产能与商业交付力对比 - 信息热点
  • 宏村美食探店|徽八鲜・臭鳜鱼非遗名菜实测!2026 宏村吃正宗徽菜就选这家 - 信息热点
  • 2026武汉婚姻纠纷找谁?六大离婚律师专业推荐榜单 - 信息热点
  • 2026年6月15日18点更新:武汉高性价比婚纱摄影推荐|实景基地超大,风格多选性价比拉满 - 信息热点
  • 二手车上门验车第三方平台怎么选?异地验车哪家靠谱? - 信息热点
  • 天津靠谱猫犬舍探店|4 家正规繁育门店推荐,新手选宠不踩坑(附品种选购指南) - 同城宠物优选基地
  • 石家庄哪里回收名表?这份实测榜单请收好 - 奢侈品回收测评
  • 智能音箱音乐解锁革命:XiaoMusic让你的小爱音箱重获新生
  • 武汉高净值人群必看:2026离婚律师TOP8权威推荐,攻克股权分割、隐性财产追踪难关 - 信息热点
  • 步进电机失速检测:基于反电动势积分的PXD10 SSD模块实战指南
  • 2026香港专才换工作必看:签证要重办还是只更新? - 信息热点
  • 2026年6月黄岛高口碑装修公司盘点,预算透明、固定班组、无隐形增项品牌汇总 - GrowthUME
  • 重新定义卡通渲染:如何用lilToon着色器打造专业级角色视觉体验