Awesome
WECHATY-PUPPET-WECHAT
Picture Credit: https://www.forsbergplustwo.com
Wechaty Puppet for WeChat
- This repository is a sub module of Wechaty. See: https://github.com/wechaty/wechaty-puppet-wechat/issues/1
- Source code before moved to here can be found at Wechaty repository: Wechaty/src/puppet-puppeteer#a2c56e6
KNOWN LIMITATIONS
- 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 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
Note for Developers in China
Cause storage.googleapis.com
is blocked in mainland china, you'd better config by following guide.
1. Linux & Mac
PUPPETEER_DOWNLOAD_HOST=https://registry.npmmirror.com/mirrors npm install wechaty-puppet-wechat
2. Windows
SET PUPPETEER_DOWNLOAD_HOST=https://registry.npmmirror.com/mirrors npm install wechaty-puppet-wechat
Learn more from https://github.com/GoogleChrome/puppeteer/issues/1597#issuecomment-351945645
How to set puppeteer launchOptions?
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_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 <your executablePath>
. eg. WECHATY_PUPPET_WECHAT_ENDPOINT=/usr/bin/chromium-browser ts-node your-bot.ts
puppetOptions
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 |
HISTORY
master v1.12 (Mar 11, 2022)
Release stable for the standard Web Protocol
v1.0 (Oct 30, 2021)
Release 1.0 of Wechaty Puppet for WeChat
- v0.30 (Sep, 2021): ESM support.
v0.28 (Apr 13, 2021)
v0.26 (Mar 4, 2021)
Rename NPM package name from wechaty-puppet-puppeteer
to wechaty-puppet-wechat
v0.24 (Feb 20, 2021)
- Puppeteer from v5 to v7
- Upgrade other deps
v0.22 (Jun 18, 2020)
Release a version before upgrade.
v0.14 (Aug, 2018)
- First Stable Release
- Follow latest typings
v0.2 (May, 2018)
- Promote to solo package:
wechaty-puppet-puppeteer
FAQ
1. chrome-linux/chrome: error while loading shared libraries: libXXX.so.x: 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:
- error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
apt install libnss3
- error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory
apt install libgbm-dev
- error while loading shared libraries: libxshmfence.so.1: cannot open shared object file: No such file or directory
apt install libxshmfence-dev
- error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
apt install libxss1
See: https://github.com/wechaty/wechaty/issues/1152
AUTHOR
Huan LI Tencent TVP of Chatbot <zixia@zixia.net>
<!-- markdownlint-disable MD033 --> <a href="https://stackexchange.com/users/265499"> <img src="https://stackexchange.com/users/flair/265499.png" width="208" height="58" alt="profile for zixia on Stack Exchange, a network of free, community-driven Q&A sites" title="profile for zixia on Stack Exchange, a network of free, community-driven Q&A sites"> </a>COPYRIGHT & LICENSE
- Code & Docs © 2016-now Huan LI <zixia@zixia.net>
- Code released under the Apache-2.0 License
- Docs released under Creative Commons