Puppet WeChat for Wechaty
npm install wechaty-puppet-wechat






> Picture Credit: https://www.forsbergplustwo.com
Wechaty Puppet for WeChat
- This repository is a sub module of Wechaty. See:
- Source code before moved to here can be found at Wechaty repository: Wechaty/src/puppet-puppeteer#a2c56e6
1. Solved by UOS. ~~WeChat Account that registered after 2017 mignt not be able to login Web Wechat, so it can not use PuppetWeChat with Wechaty. Please make sure your WeChat Account can be able to login by visiting
1. Web API can not create room and invite members to room since 2018.
1. Can not Receive/Send message from Work Wechat.
If you want to break the above limitations, please consider to use a Wechaty Puppet other than using Web API, like wechaty-puppet-padchat.
Learn more about the Puppet at Wechaty wiki: Puppet
Cause storage.googleapis.com is blocked in mainland china, you'd better config by following guide.
``shell`
PUPPETEER_DOWNLOAD_HOST=https://registry.npmmirror.com/mirrors npm install wechaty-puppet-wechat
`shell`
SET PUPPETEER_DOWNLOAD_HOST=https://registry.npmmirror.com/mirrors npm install wechaty-puppet-wechat
Learn more from
An example of adding executablePath to puppeteer.launch():
`js
const bot = new Wechaty({
name: 'mybot',
puppet: 'wechaty-puppet-wechat',
// ...
puppetOptions: {
endpoint: '
}
});
// or
const bot = new Wechaty({
name: 'mybot',
puppet: 'wechaty-puppet-wechat',
// ...
puppetOptions: {
launchOptions: {
executablePath: '
// ... others launchOptions, see: https://github.com/GoogleChrome/puppeteer/blob/v1.18.1/docs/api.md#puppeteerlaunchoptions
}
}
});
`
We use stealth to make puppeteer more like a normal browser, if you want to disabled it, just set the WECHATY_PUPPET_WECHAT_PUPPETEER_STEALTHLESS environment variable to 1. eg. WECHATY_PUPPET_WECHAT_PUPPETEER_STEALTHLESS=1 ts-node your-bot.ts
In rare cases, we could meet some problem and see Error: Could not find expected browser when we start PuppetWeChatBridge and try to run initBrowser(). A easy way to solve this problem is set WECHATY_PUPPET_WECHAT_ENDPOINT environment variable to . eg. WECHATY_PUPPET_WECHAT_ENDPOINT=/usr/bin/chromium-browser ts-node your-bot.ts
| Option | value | default value | description |
| ------------- | :-----: | :-----------: | :-------------------------------------------------------------------------------------------------------------------------- |
| token | string | - | your own uos extspam value, see #127 |
| endpoint | string | - | puppeteerlaunchoptions.executablePath |
| head | boolean | false | puppeteerlaunchoptions.headless |
| launchOptions | object | - | same to puppeteerlaunchoptions |
| stealthless | boolean | false | disabled puppeteer-extra-plugin-stealth or not |
| uos | boolean | false | enable UOS patch or not |
Release stable for the standard Web Protocol
Release 1.0 of Wechaty Puppet for WeChat
1. v0.30 (Sep, 2021): ESM support.
1. Support UOS with puppeteer #127
1. 添加uos请求头支持 #129
Rename NPM package name from wechaty-puppet-puppeteer to wechaty-puppet-wechat
1. Puppeteer from v5 to v7
1. Upgrade other deps
Release a version before upgrade.
1. First Stable Release
1. Follow latest typings
1. Promote to solo package: wechaty-puppet-puppeteer
You need to be able to run chrome in your Linux environment. If you are using Ubuntu Linux:
- _error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory_
- apt install libnss3apt install libgbm-dev
- _error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory_
- apt install libxshmfence-dev
- _error while loading shared libraries: libxshmfence.so.1: cannot open shared object file: No such file or directory_
- apt install libxss1`
- _error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory_
-
See:
Huan LI Tencent TVP of Chatbot \
- Code & Docs © 2016-now Huan LI \
- Code released under the Apache-2.0 License
- Docs released under Creative Commons