• Stars
    star
    402
  • Rank 107,380 (Top 3 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Wechaty Puppet Provider for WeChat

WECHATY-PUPPET-WECHAT

Powered by Wechaty NPM Version npm (tag) TypeScript NPM ES Modules

Wechaty Puppet Puppeteer

Picture Credit: https://www.forsbergplustwo.com

Wechaty Puppet for WeChat

KNOWN LIMITATIONS

  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 https://wx.qq.com
  2. Web API can not create room and invite members to room since 2018.
  3. 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 puppeteer/puppeteer#1597 (comment)

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

  1. v0.30 (Sep, 2021): ESM support.

v0.28 (Apr 13, 2021)

重磅:绕过登录限制,wechaty免费版web协议重放荣光

  1. Support UOS with puppeteer #127
  2. 添加uos请求头支持 #129

v0.26 (Mar 4, 2021)

Rename NPM package name from wechaty-puppet-puppeteer to wechaty-puppet-wechat

v0.24 (Feb 20, 2021)

  1. Puppeteer from v5 to v7
  2. Upgrade other deps

v0.22 (Jun 18, 2020)

Release a version before upgrade.

v0.14 (Aug, 2018)

  1. First Stable Release
  2. Follow latest typings

v0.2 (May, 2018)

  1. 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: wechaty/wechaty#1152

AUTHOR

Huan LI Tencent TVP of Chatbot <[email protected]>

profile for zixia on Stack Exchange, a network of free, community-driven Q&A sites

COPYRIGHT & LICENSE

  • Code & Docs © 2016-now Huan LI <[email protected]>
  • Code released under the Apache-2.0 License
  • Docs released under Creative Commons

More Repositories

1

wechaty

Conversational RPA SDK for Chatbot Makers. Join our Discord: https://discord.gg/7q8NBZbQzt
TypeScript
19,950
star
2

python-wechaty

Python Wechaty is a Conversational RPA SDK for Chatbot Makers written in Python
Python
1,568
star
3

getting-started

A Starter Project Template for Wechaty works out-of-the-box
JavaScript
781
star
4

puppet-padlocal

Puppet PadLocal is a Pad Protocol for WeChat
TypeScript
619
star
5

go-wechaty

Go Wechaty is a Conversational SDK for Chatbot Makers Written in Go
Go
480
star
6

puppet-xp

Wechaty Puppet WeChat Windows Protocol
JavaScript
449
star
7

java-wechaty

Java Wechaty is a Conversational SDK for Chatbot Makers Written in Kotlin
Kotlin
409
star
8

wechaty-puppet-padplus

DEPRECATED: One puppet based on iPad protocal for Wechaty
TypeScript
315
star
9

wechaty-puppet-padchat

Padchat Puppet for Wechaty
TypeScript
281
star
10

wechaty-puppet-padpro

TypeScript
238
star
11

puppet

Puppet Provider Abstraction for Wechaty
TypeScript
225
star
12

python-wechaty-getting-started

Python Wechaty Starter Project Template that Works Out-of-the-Box
Makefile
180
star
13

matrix-appservice

Wechaty [Matrix] Application Services Bridge
TypeScript
132
star
14

docusaurus

Wechaty Official Website for Documentations, Powered by Docusaurus.
MDX
112
star
15

puppet-wechat4u

Wechat4u Puppet for Wechaty
TypeScript
92
star
16

friday

Friday is an Assistant BOT Built on Wechaty for Serving our Community
TypeScript
81
star
17

dotnet-wechaty

.NET Wechaty is a Conversational SDK for Chatbot Makers Written in C#
C#
78
star
18

puppet-service

Wechaty Puppet Provider for providing/consuming the Wechaty Puppet Service
TypeScript
67
star
19

docker-getting-started

Getting Started Template for Docker Users
TypeScript
64
star
20

python-wechaty-template

getting started project template for python-wechaty
Python
56
star
21

php-wechaty

PHP Wechaty is a Conversational SDK for Chatbot Makers Written in PHP https://github.com/wechaty/docker-php-wechaty-getting-started
PHP
55
star
22

java-wechaty-getting-started

Java Wechaty Starter Project Template that Works Out-of-the-Box
Makefile
46
star
23

puppet-mock

Puppet Mocker for Wechaty (& A Puppet Template Starter)
TypeScript
45
star
24

go-wechaty-getting-started

Go Wechaty starter project template that works out-of-the-box
Makefile
44
star
25

bot5

Bot Friday Club - BOT5
TypeScript
39
star
26

python-wechaty-puppet-itchat

Python Wechaty Puppet Powered by Itchat
Python
38
star
27

jekyll

Wechaty Official Website for News, Blogs, Contributor Profiles, Powered by Jekyll.
Java
37
star
28

plugin-contrib

Wechaty Plugin Ecosystem Contrib Package
TypeScript
33
star
29

summer

Summer of Wechaty (SoW) is a program for connecting students with the Wechaty community for coding & tech writing.
32
star
30

chatbot-0-to-1

Chatbot Zero to One
TypeScript
31
star
31

puppet-supports

Wechaty Puppet Services (WPS)
31
star
32

rust-wechaty

Rust Wechaty is a Conversational RPA SDK for Chatbot Makers written in Rust
Rust
24
star
33

puppet-whatsapp

Wechaty Puppet for Whatsapp
TypeScript
24
star
34

puppet-lark

Wechaty Puppet for Lark
TypeScript
23
star
35

webwx-app-tracker

Live Tracking webwxApp Version Change
JavaScript
22
star
36

openapi

Wechaty REST API Server with OpenAPI Specification (aka. Swagger)
JavaScript
22
star
37

wechaty-electron

Wechaty for Desktop
JavaScript
18
star
38

puppet-official-account

Wechaty Puppet for WeChat Official Account
TypeScript
17
star
39

java-wechaty-bak

Java Wechaty is an RPA SDK for WeChat Individual Account
Java
15
star
40

botbuilder-wechaty-adapter

Microsoft Bot Framework v4 Adapter for Wechat Individual Account
TypeScript
15
star
41

puppet-oicq

Wechaty Puppet for QQ based on project takayama-lily/oicq-template
TypeScript
15
star
42

wechaty-weixin-openai

Wechaty plugin for integrate your bot with weixin openai-sdk
TypeScript
13
star
43

python-wechaty-plugin-contrib

Wechaty Plugin Ecosystem Contrib Package
Python
13
star
44

python-wechaty-puppet

Python Puppet Provider Abstraction for Wechaty
Python
12
star
45

dotnet-wechaty-getting-started

.NET Wechaty Starter Project Template that Works Out-of-the-Box
C#
11
star
46

heroku-wechaty-getting-started

Wechaty Starter Project Template with Heroku Deploy Button that Works Out-of-the-Box
TypeScript
10
star
47

puppet-walnut

Wechaty Puppet Walnut - 硬核桃5G消息
TypeScript
9
star
48

mac-wechat-app-tracker

macOS WeChat.app header files version history (automatic updated)
Objective-C
9
star
49

python-wechaty-puppet-service

Python Puppet Service Client for Wechaty
Python
8
star
50

wechaty-puppet-dingtalk

TypeScript
8
star
51

php-wechaty-getting-started

PHP Wechaty Starter Project Template that Works Out-of-the-Box
Makefile
8
star
52

scala-wechaty

Scala Wechaty is a Conversational SDK for Chatbot Makers Written in Scala
Scala
8
star
53

python-wechaty-puppet-padplus

Python Hostie Puppet for Wechaty
Python
7
star
54

easy-matrix-wechaty

A simple and fast temporary deployment solution for [matrix-appservice-wechaty](https://github.com/wechaty/matrix-appservice-wechat) with matrix. (Easy to be a multi bridge server for other matrix bridges.)
Shell
7
star
55

wishlist

Puppets, Bots, and other Tooling Requested by Community Members
6
star
56

im-aggregation

Aggregate WeCom, WeChat, and WhatsApp together.
TypeScript
6
star
57

chat

Friday BOT empowered by GPT-4 with maximum token length 32K, grounded with Wechaty SDK knowledge
5
star
58

wechaty-ui

Web UI for polyglot-wechaty based on the plugin system.
Vue
5
star
59

cqrs

An event-driven architecture wrapper for Wechaty that applies the CQS principle by using separate Query and Command messages to retrieve and modify the bot state, respectively.
TypeScript
5
star
60

vorpal-contrib

Wechaty Vorpal Chat CLI (Command Line Interface) Commands
TypeScript
4
star
61

PMC

Project Management Committees
Shell
4
star
62

wechaty-puppet-macOS

Wechaty Puppet Provider: macOS,make your macOS as a service provider for your self.
Objective-C
4
star
63

ha

High Available (HA) Wechaty is a Load Balance for providing High Availability for Wechaty Chatbot by spreading requests across multiple WeChat individual accounts.
TypeScript
4
star
64

redux

Wechaty Redux Plugin, Reducer Bundle, and Ducks Proposal Implementation.
TypeScript
4
star
65

wechaty-got-kicked-out

this is a wechaty plugin to monitor whether your bot is kicked out of group chat.
TypeScript
4
star
66

plugin-qnamaker

QnAMaker.ai Plugin for Wechaty
TypeScript
4
star
67

bot5-assistant

BOT Friday Club Meeting Assistant BOT
TypeScript
3
star
68

plugin-chatopera

🐸 Chatopera Plugin for Wechaty
TypeScript
3
star
69

sidecar-demos

Sidecar Demos & Examples
JavaScript
3
star
70

cli

Terminal Client for Wechaty
TypeScript
3
star
71

bot5-rasa-nlu

Rasa NLU for Bot5
Dockerfile
3
star
72

vorpal

CLI for Chatbot - Extensible Commands for ChatOps, Powered by Vorpal.
TypeScript
3
star
73

docker-php-wechaty-getting-started

Getting Started Template for Docker Users
Shell
2
star
74

puppet-discord

Discord Puppet for Wechaty
TypeScript
2
star
75

ducks-contrib

Wechaty Ducks Contrib
JavaScript
2
star
76

token

Wechaty Token-Based Authentication Manager
TypeScript
2
star
77

ngNext-hackthon-2020-Conversational-AI

2
star
78

plugin-freshdesk

Wechaty Freshdesk Plugin helps Freshdesk unifies conversations from WeChat, and helps you resolve issues across channels effortlessly!
TypeScript
2
star
79

chat-drive

Chat Drive is a conversational storage solution that allows you to save files from the WeChat room, and search & access them anytime by talking to our chatbot.
TypeScript
2
star
80

chatbot-1-to-2

the source code of chatbot-1-to-2
JavaScript
1
star
81

qrcode

Online QRCode Image Generator
HTML
1
star
82

php-grpc

PHP Stubs for Chatie GRPC (DO NOT EDIT: Code generated by grpc_php_plugin)
PHP
1
star
83

js.org

Wechaty Official Website for News, Blogs, Contributor Profiles, and Documentations.
1
star
84

rust-wechaty-getting-started

Rust Wechaty Starter Project Template that Works Out-of-the-Box
Makefile
1
star
85

OSSRH-56843

https://issues.sonatype.org/browse/OSSRH-56843
1
star
86

go-grpc

Go Stubs for Chatie GRPC (DO NOT EDIT: Code generated by protoc-gen-go)
1
star
87

python-wechaty-puppet-official-account

Wechaty Puppet for WeChat Official Account
Python
1
star
88

actor

Wechaty Actor Model, Powered by XState, Mailbox, and CQRS
JavaScript
1
star
89

plugin-intercom

Wechaty Intercom Plugin helps you build better customer relationships through WeChat across the customer journey.
TypeScript
1
star
90

wechaty-puppet-sidecar

A Universal Puppet Powered by Sidecar
TypeScript
1
star
91

puppet-gitter

Gitter.im Puppet for Wechaty
TypeScript
1
star
92

OSSRH-56865

https://issues.sonatype.org/browse/OSSRH-56865
1
star