Puppet

1. 介绍

不同的Puppet 代表的我们对微信协议的不同实现方式, Puppet的英文意思是傀儡, 很形象的描述了我们希望Puppet做的事情:帮助 Wechaty 来控制微信的操作。

所有的实现方式都以PuppetXXX 来命名的,比如PuppetPuppeteer 是通过谷歌浏览器,通过 google puppeteer来控制网页微信APIPuppetPadchat 是通过WebSocket 连接一个协议服务器来控制iPad 微信。

如果你希望深入了解Puppet是如何在Wechaty 运行的,你可以在https://github.com/Chatie/wechaty-puppet/blob/master/src/puppet.ts 查看源代码。

基于网页微信的实现方式是免费的,基于其他的接入方式是收费的,详细介绍:收费说明

以下是Puppet 和Wechaty 的架构图,更多Puppet 的介绍在这里: Puppet in wiki

2. Wechaty Puppet 清单

2.1 调用 Wechaty 的开发者

Puppet

使用的微信协议

Npm 名称

Npm 版本

状态

通过浏览器 Hook 网页API

wechaty-puppet-puppeteer

iPad 协议

wechaty-puppet-padchat

iPad 协议

增强版本的wechaty-puppet-padchat, 详见issue1668

通过HTTP 调用网页API

wechaty-puppet-wechat4u

iPhone Hook

wechaty-puppet-iosbird

TBW

Android Hook

Android

0.0.0

TBW

Win32 Hook

Win32

0.0.0

2.2 开发 Puppet 开发者

Puppet

使用的微信协议

Npm 名称

Npm 版本

状态

抽象父类

wechaty-puppet

为单元测试提供模拟调用

wechaty-puppet-mock

3. Wechaty Puppet 兼容性

3.1 Puppet 联系人接口

Contact API

描述

PuppetWechat4u & PuppetPuppeteer

PuppetPadchat & PuppetPadPro

PuppetIosbird

Permanent ContactPayload.id

唯一id

No

Yes

Yes

ContactPayload.friend

判断是否为机器人好友

No

Yes

Yes

weixin()

获取微信号

No

Yes

Yes

3.2 Puppet 消息收发接口

Message API

描述

PuppetWechat4u & PuppetPuppeteer

PuppetPadchat & PuppetPadPro

PuppetIosbird

messageSendContact()

发送联系人名片

No

Yes

No

messageFile()

接收文件

Yes

Yes: 图片/音频/视频 No: 其他文件

Yes: 图片/音频/视频/其他文件/连接

messageSendFile()

发送文件

Yes

Yes: 图片/音频/视频 No: 其他文件

Yes: 图片 No: 其他文件

messageSendUrl()

发送链接消息

No

Yes

No

Wechaty-puppet-padpro 已经支持发送各类文件,包括word,pdf,ppt等,正在内测中,如需要请在issue 1668 报名哦

3.3 Puppet 微信群接口

Room API

描述

PuppetWechat4u & PuppetPuppeteer

PuppetPadchat & PuppetPadPro

PuppetIosbird

Permanent RoomPayload.id

唯一群id

No

Yes

Yes

roomQrcode()

获取群二维码

No

Yes

Yes

roomCreate()

创建微信群

No

Yes

Yes

roomAdd()

邀请好友入群

No

Yes

Yes

roomDel()

将用户踢出群聊

No

Yes

Yes

roomQuit()

主动退群

No

Yes

Yes

roomAnnounce()

发群公告

No

Yes

Yes

roomPayload.owner

获取群主信息

No

Yes

No

roomInvitaition

自动接受群邀请

No

Yes

No

4. 了解更多

你可以参考这里了解更多的 Wechaty Puppet 内容: https://github.com/Chatie/wechaty-puppet/wiki

Last updated