Wechaty
NewsBlogDevelopersDocs
English Version
English Version
  • Introduction
  • Quick Start
  • API Reference
    • Wechaty
    • Contact
    • ContactSelf
    • Room
    • RoomInvitation
    • Message
    • Friendship
  • Examples
  • Puppet
  • FAQ
  • Best Practice
  • Welcome to contribute
  • More
    • Video Tutorial
    • Advanced
    • Code Structure
    • Release Log
    • Change Log
    • Awesome Wechaty
    • Contributors
    • We love feedback
    • Better tools for authors
  • Others
    • Concepts
    • Tech
Powered by GitBook
On this page
  • 1. Intro
  • 2. Wechaty Puppet List
  • 2.1. For Puppet User
  • 2.2. For Puppet Builder
  • 3. Wechaty Puppet Compatibility
  • 3.1 Puppet Contact API
  • 3.2 Puppet Message API
  • 3.3 Puppet Room API
  • 4. Learn More

Was this helpful?

Puppet

PreviousExamplesNextFAQ

Last updated 5 years ago

Was this helpful?

1. Intro

The term in Wechaty is an Abstract Class for implementing protocol plugins. The plugins are the component that helps Wechaty to control the Wechat(that's the reason we call it puppet).

The plugins are named PuppetXXX, like is using the to control the via a chrome browser, is using the WebSocket protocol to connect with a Protocol Server for controlling the iPad Wechat program. More detail you could go .

For a deeper understanding of the Puppet in Wechaty, you can read its source code if you like at

2. Wechaty Puppet List

2.1. For Puppet User

Wechaty Puppet

Backend Protocol

Npm Name

Npm Version

Stage

Web API via Browser Hooking

wechaty-puppet-puppeteer

iPad Protocol

wechaty-puppet-padchat

iPad Protocol

Web API via HTTP

wechaty-puppet-wechat4u

iPhone Hook

wechaty-puppet-iosbird

TBW

Android Hook

Android

0.0.0

TBW

Win32 Hook

Win32

0.0.0

2.2. For Puppet Builder

Wechaty Puppet

Backend Protocol

Npm Name

Npm Version

Stage

Abstract Base Class

wechaty-puppet

Mocking

wechaty-puppet-mock

3. Wechaty Puppet Compatibility

3.1 Puppet Contact API

Contact API

wechat4u & puppeteer

padchat

Iosbird

Permanent ContactPayload.id

No

Yes

Yes

ContactPayload.friend

No

Yes

Yes

weixin()

No

Yes

Yes

3.2 Puppet Message API

Message API

wechat4u & puppeteer

padchat

Iosbird

messageSendContact()

No

Yes

No

messageFile()

Yes

Yes for Image/Audio/Video No for other Attachments

Yes for Image/Audio/Video/other Attachments/UrlLink

messageSendFile()

Yes

Yes for Image/Audio/Video No for other Attachments

Yes for Image No for other Attachment

messageSendUrl()

No

Yes

No

3.3 Puppet Room API

Room API

wechat4u & puppeteer

padchat

Iosbird

Permanent RoomPayload.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

4. Learn More

Enhance wechaty-puppet-padchat, see more

Learn more about Wechaty Puppet at

Repository:

Documentation:

Puppet Development Guide:

Puppet Related Links:

https://github.com/wechaty/wechaty-puppet/wiki
https://github.com/wechaty/wechaty-puppet
https://wechaty.github.io/wechaty-puppet/typedoc/classes/puppet.html
https://github.com/wechaty/wechaty-puppet/wiki/Development
https://github.com/wechaty/wechaty-puppet/wiki/Links
PuppetPuppeteer
PuppetPadchat
PuppetPadpro
issue1668
PuppetWechat4u
PuppetIosbird
Puppet
PuppetMock
Puppet
PuppetPuppeteer
google puppeteer
WeChat Web API
PuppetPadchat
Puppet in wiki
https://github.com/wechaty/wechaty-puppet/blob/master/src/puppet.ts
Stage:Release
Stage:Release
Stage:Release
Stage:Release
Stage:Release
Stage:Release
Stage:Release
Stage:Release
Stage:Release
PuppetPuppeteer
PuppetPadchat
PuppetPadpro
PuppetWechat4u
PuppetIosbird
Puppet
PuppetMock
npm (tag)
npm (tag)
npm (tag)
npm (tag)
npm (tag)
npm (tag)
npm (tag)