基于 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);
- wechaty-puppet:About Puppet Provider Abstraction for Wechaty
- puppet-xp:Wechaty Puppet WeChat Windows Protocol
- wechatsdk: 强大的微信 API 工具