Skip to content

WeChatAPIs/WeChatAPI_puppet

Repository files navigation

WeChat SDK Puppet Bridge

基于 wechaty 协议的微信机器人桥接服务。

已支持版本:

一、安装

npm install wechatsdk-puppet-bridge

二、基础用法

import { ScanStatus } from 'wechaty-puppet/types';
import { log } from 'wechaty-puppet';
import qrTerm from 'qrcode-terminal';
import { WeChatSdkPuppetBridge_3_9_10_19 as PuppetBridge } from 'wechatsdk-puppet-bridge';
import { jsonStringify } from 'wechatsdk-puppet-bridge/dist/shared';

async function main() {
  const puppet = new PuppetBridge({
    // wx robot api url
    apiUrl: 'http://127.0.0.1:8888',
    // recv msg protocol, http or ws, default http
    protocol: 'ws' 
  });

  puppet.on('scan', async options => {
    const { status, qrcode } = options;

    if (status === ScanStatus.Waiting || status === ScanStatus.Timeout) {
      log.info('Please scan the QR code to login:', qrcode);
      qrTerm.generate(qrcode as string, { small: true }); // show qrcode on console
      log.info('StarterBot', 'onScan: %s(%s)', ScanStatus[status], status);
      return;
    }

    log.info('StarterBot', 'onScan: %s(%s)', ScanStatus[status], status);
  });

  puppet.on('login', user => {
    log.info('User login: ', jsonStringify(user));
  });

  puppet.on('ready', () => {
    log.info('Puppet is ready');
  });

  puppet.on('message', message => {
    log.info('Message: ', jsonStringify(message));
  });

  puppet.on('logout', user => {
    log.info('User logout: ', jsonStringify(user));
  });

  puppet.on('error', error => {
    log.error('Puppet error:', error.data);
  });

  await puppet.start();
}

main().catch(console.error);

三、参考

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published