
Security News
November CVEs Fell 25% YoY, Driven by Slowdowns at Major CNAs
November CVE publications fell 25% YoY even as 2025 totals rose, showing how a few major CNAs can swing “global” counts and skew perceived risk.
@juzi/wechaty-puppet
Advanced tools

Picture Credit: https://www.shareicon.net
Abstract(Base) Class of Puppet Providers for Wechaty Framework.
This module is part of the Wechaty Framework SDK.
Learn more at:
Wechaty Puppet Provider Interface Documentation can be found at https://wechaty.github.io/wechaty-puppet/typedoc/classes/puppet.html
Automatica Generated by TypeDoc
PuppetMock: https://github.com/wechaty/wechaty-puppet-mock
The above puppet provider is just for mocking and easy to understand. It will be a good starter when you want to develope a new puppet by yourself for fullfil your need, for example, connect Wechaty with Wechat Official Account.
FileBox (npm module file-box) MUST be imported from wechaty-puppet because all the Wechaty Framework needs to check instanceof FileBox, we must be sure all FileBox is the same version.MemoryCard (npm module memory-card) MUST be imported from wechaty-puppet because all the Wechaty Framework needs to check instanceof MemoryCard, we must be sure all MemoryCard is the same version.Puppet(npm module wechaty-puppet) itself must be a peer Dependencies for all the Puppet Providers, and should only be installed via Wechaty because all Puppet Providers should share the same Puppet Base Class with Wechaty, we must be sure all Puppet is the same version.
You can get to know the puppet start/stop state from the state property:
puppet.state.on() === 'pending' will be true when the puppet is startingpuppet.state.on() === true will be true when the puppet is startedpuppet.state.off() === 'pending' will be true when the puppet is stopingLearn more about the puppet.state at https://github.com/huan/state-switch
Using Brolog to output necessary log messages.
import { log } from 'brolog'
log.verbose('ModuleName', 'methodName() Your Verbose Message Here')
log.silly('ModuleName', 'methodName() Your Silly Message Here')
Brolog has five log levels, it should be used and follow the following rules:
| Log Level | What does it means | Usage in Puppet |
|---|---|---|
log.silly() | There's some detail debug information | Can be used in everywhere as you like |
log.verbose() | There's some debug information | Should be used at the beginning of every method() |
log.info() | ||
log.warn() | There's a Coverable Error | Should not be used unless we have to |
log.error() | There's a Un-covered Error | Should not be used unless we have to |
Set the max size for wechaty entities in LRU Cache.
| Env Name | What does it means |
|---|---|
WECHATY_PUPPET_LRU_CACHE_SIZE_CONTACT | The max cache size for contact, default value 3000 |
WECHATY_PUPPET_LRU_CACHE_SIZE_FRIENDSHIP | The max cache size for friendship, default value 100 |
WECHATY_PUPPET_LRU_CACHE_SIZE_MESSAGE | The max cache size for message, default value 500 |
WECHATY_PUPPET_LRU_CACHE_SIZE_ROOM | The max cache size for room, default value 500 |
WECHATY_PUPPET_LRU_CACHE_SIZE_ROOM_INVITATION | The max cache size for room invitation, default value 100 |
WECHATY_PUPPET_LRU_CACHE_SIZE_ROOM_MEMBER | The max cache size for room member, default value 30000 |
Error interface to EventErrorPayload, and make .data optionalPuppetWorks with the following Puppet Providers:
FAQs
Abstract Puppet for Wechaty
The npm package @juzi/wechaty-puppet receives a total of 679 weekly downloads. As such, @juzi/wechaty-puppet popularity was classified as not popular.
We found that @juzi/wechaty-puppet demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
November CVE publications fell 25% YoY even as 2025 totals rose, showing how a few major CNAs can swing “global” counts and skew perceived risk.

Security News
React disclosed a CVSS 10.0 RCE in React Server Components and is advising users to upgrade affected packages and frameworks to patched versions now.

Research
/Security News
We spotted a wave of auto-generated “elf-*” npm packages published every two minutes from new accounts, with simple malware variants and early takedowns underway.