Skip to content

wechaty/wechaty-puppet-sidecar

Repository files navigation

PuppetSidecar NPM

NPM Version npm (tag) Powered by Wechaty TypeScript

Sidecar Wechaty Puppet

Image source: 1920s Raleigh Box Sidecar Outfit & ShellterProject

Universal Puppet powered by Sidecar, which can help Wechaty connect to any applications.

Motivation

UNDER CONSTRUCTION

To universal RPA everything by the power of sidecar.

Usage

Talk is cheap, show me the code.

Puppet Sidecar

import { Wechaty }   from 'wechaty'
import { PuppetSidecar } from 'wechaty-puppet-sidecar'
import { 
  Sidecar,
  SidecarBody,
  Call,
  Ret,
  RetType
  ParamType,
  Hook,
}               from 'frida-sidecar'

@Sidecar('WeChat.exe')
class WeChatSidecar extends SidecarBody {

  @Call(0x1234)
  @RetType('pointer', 'Utf8String')
  messageSendText (
    @ParamType('pointer', 'Utf8String') id: string,
    @ParamType('pointer', 'Utf8String') text: string,
  ) { return Ret(id, text) }

  @Hook(0x5678)
  messageLoop (
    @ParamType('pointer', 'Buffer') protoBuf: Buffer,
  ) { return Ret(protoBuf) }

}

const sidecar = new WeChatSidecar()
const puppet  = new PuppetSidecar({ sidecar })
const wechaty = new Wechaty({ puppet })

wechaty.start()

History

master

v0.0.1 (Jun 4, 2021)

Initial version.

Author

Huan LI, Microsoft Regional Director <[email protected]>

profile for zixia on Stack Exchange, a network of free, community-driven Q&A sites

Copyright & License

  • Code & Docs © 2021 Huan LI <[email protected]>
  • Code released under the Apache-2.0 License
  • Docs released under Creative Commons