Picture Credit: https://www.forsbergplustwo.com
Wechaty Puppet for WeChat
- This repository is a sub module of Wechaty. See: wechaty#1
- Source code before moved to here can be found at Wechaty repository: Wechaty/src/puppet-puppeteer#a2c56e6
- 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 https://wx.qq.com
- Web API can not create room and invite members to room since 2018.
- 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.
PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors npm install wechaty-puppet-wechat
SET PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors npm install wechaty-puppet-wechat
Learn more from puppeteer/puppeteer#1597 (comment)
An example of adding executablePath to puppeteer.launch():
const bot = new Wechaty({
name: 'mybot',
puppet: 'wechaty-puppet-wechat',
// ...
puppetOptions: {
endpoint: '<executablePath>'
}
});
// or
const bot = new Wechaty({
name: 'mybot',
puppet: 'wechaty-puppet-wechat',
// ...
puppetOptions: {
launchOptions: {
executablePath: '<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_PUPPETEER_STEALTHLESS
environment variable to 1
. eg. WECHATY_PUPPET_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_PUPPETEER_ENDPOINT
environment variable to <your executablePath>
. eg. WECHATY_PUPPET_PUPPETEER_ENDPOINT=/usr/bin/chromium-browser ts-node your-bot.ts
Option | value | default value | description |
---|---|---|---|
token | string | - | your own 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 |
Rename NPM package name from wechaty-puppet-puppeteer
to wechaty-puppet-wechat
- Puppeteer from v5 to v7
- Upgrade other deps
Release a version before upgrade.
- First Stable Release
- Follow latest typings
- Promote to solo package:
wechaty-puppet-puppeteer
1. chrome-linux/chrome: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
You need to be able to run chrome in your Linux environment. If you are using Ubuntu Linux:
sudo apt-get install libxss1
See: wechaty/wechaty#1152
- Code & Docs © 2016-2019 Huan LI <zixia@zixia.net>
- Code released under the Apache-2.0 License
- Docs released under Creative Commons