mirror of
https://github.com/cheveguerra/whatsapp-web.js.git
synced 2026-04-18 19:49:16 +00:00
feat: listen to group events (#90)
This allows you to listen for user joins or leaves, description updates, subject updates, picture updates, and group settings updates. Co-authored-by: Pedro S. Lopez <pedroslopez@me.com>
This commit is contained in:
@@ -10,8 +10,7 @@ const { WhatsWebURL, UserAgent, DefaultOptions, Events, WAState } = require('./u
|
||||
const { ExposeStore, LoadUtils } = require('./util/Injected');
|
||||
const ChatFactory = require('./factories/ChatFactory');
|
||||
const ContactFactory = require('./factories/ContactFactory');
|
||||
const { ClientInfo, Message, MessageMedia, Location } = require('./structures');
|
||||
|
||||
const { ClientInfo, Message, MessageMedia, Location, GroupNotification } = require('./structures');
|
||||
/**
|
||||
* Starting point for interacting with the WhatsApp Web API
|
||||
* @extends {EventEmitter}
|
||||
@@ -146,6 +145,18 @@ class Client extends EventEmitter {
|
||||
await page.exposeFunction('onAddMessageEvent', msg => {
|
||||
if (!msg.isNewMsg) return;
|
||||
|
||||
if (msg.type === 'gp2') {
|
||||
const notification = new GroupNotification(this, msg);
|
||||
if (msg.subtype === 'add' || msg.subtype === 'invite') {
|
||||
this.emit(Events.GROUP_JOIN, notification);
|
||||
} else if (msg.subtype === 'remove' || msg.subtype === 'leave') {
|
||||
this.emit(Events.GROUP_LEAVE, notification);
|
||||
} else {
|
||||
this.emit(Events.GROUP_UPDATE, notification);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
const message = new Message(this, msg);
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user