feat: added group_admin_changed event (#2018)
* docs: updated * added group-admin-change event * minor changes * added usage example * minor changes: code docs updated
This commit is contained in:
parent
ac7df25075
commit
9f15499592
4 changed files with 27 additions and 0 deletions
11
example.js
11
example.js
|
|
@ -270,3 +270,14 @@ client.on('disconnected', (reason) => {
|
||||||
console.log('Client was logged out', reason);
|
console.log('Client was logged out', reason);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
client.on('group_admin_changed', (notification) => {
|
||||||
|
if (notification.type === 'promote') {
|
||||||
|
/**
|
||||||
|
* Emitted when a current user is promoted to an admin.
|
||||||
|
* {@link notification.author} is a user who performs the action of promoting/demoting the current user.
|
||||||
|
*/
|
||||||
|
console.log(`You were promoted by ${notification.author}`);
|
||||||
|
} else if (notification.type === 'demote')
|
||||||
|
/** Emitted when a current user is demoted to a regular user. */
|
||||||
|
console.log(`You were demoted by ${notification.author}`);
|
||||||
|
});
|
||||||
|
|
|
||||||
7
index.d.ts
vendored
7
index.d.ts
vendored
|
|
@ -198,6 +198,12 @@ declare namespace WAWebJS {
|
||||||
notification: GroupNotification
|
notification: GroupNotification
|
||||||
) => void): this
|
) => void): this
|
||||||
|
|
||||||
|
/** Emitted when a current user is promoted to an admin or demoted to a regular user */
|
||||||
|
on(event: 'group_admin_changed', listener: (
|
||||||
|
/** GroupNotification with more information about the action */
|
||||||
|
notification: GroupNotification
|
||||||
|
) => void): this
|
||||||
|
|
||||||
/** Emitted when group settings are updated, such as subject, description or picture */
|
/** Emitted when group settings are updated, such as subject, description or picture */
|
||||||
on(event: 'group_update', listener: (
|
on(event: 'group_update', listener: (
|
||||||
/** GroupNotification with more information about the action */
|
/** GroupNotification with more information about the action */
|
||||||
|
|
@ -512,6 +518,7 @@ declare namespace WAWebJS {
|
||||||
MEDIA_UPLOADED = 'media_uploaded',
|
MEDIA_UPLOADED = 'media_uploaded',
|
||||||
GROUP_JOIN = 'group_join',
|
GROUP_JOIN = 'group_join',
|
||||||
GROUP_LEAVE = 'group_leave',
|
GROUP_LEAVE = 'group_leave',
|
||||||
|
GROUP_ADMIN_CHANGED = 'group_admin_changed',
|
||||||
GROUP_UPDATE = 'group_update',
|
GROUP_UPDATE = 'group_update',
|
||||||
QR_RECEIVED = 'qr',
|
QR_RECEIVED = 'qr',
|
||||||
LOADING_SCREEN = 'loading_screen',
|
LOADING_SCREEN = 'loading_screen',
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ const NoAuth = require('./authStrategies/NoAuth');
|
||||||
* @fires Client#group_update
|
* @fires Client#group_update
|
||||||
* @fires Client#disconnected
|
* @fires Client#disconnected
|
||||||
* @fires Client#change_state
|
* @fires Client#change_state
|
||||||
|
* @fires Client#group_admin_changed
|
||||||
*/
|
*/
|
||||||
class Client extends EventEmitter {
|
class Client extends EventEmitter {
|
||||||
constructor(options = {}) {
|
constructor(options = {}) {
|
||||||
|
|
@ -317,6 +318,13 @@ class Client extends EventEmitter {
|
||||||
* @param {GroupNotification} notification GroupNotification with more information about the action
|
* @param {GroupNotification} notification GroupNotification with more information about the action
|
||||||
*/
|
*/
|
||||||
this.emit(Events.GROUP_LEAVE, notification);
|
this.emit(Events.GROUP_LEAVE, notification);
|
||||||
|
} else if (msg.subtype === 'promote' || msg.subtype === 'demote') {
|
||||||
|
/**
|
||||||
|
* Emitted when a current user is promoted to an admin or demoted to a regular user.
|
||||||
|
* @event Client#group_admin_changed
|
||||||
|
* @param {GroupNotification} notification GroupNotification with more information about the action
|
||||||
|
*/
|
||||||
|
this.emit(Events.GROUP_ADMIN_CHANGED, notification);
|
||||||
} else {
|
} else {
|
||||||
/**
|
/**
|
||||||
* Emitted when group settings are updated, such as subject, description or picture.
|
* Emitted when group settings are updated, such as subject, description or picture.
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ exports.Events = {
|
||||||
MEDIA_UPLOADED: 'media_uploaded',
|
MEDIA_UPLOADED: 'media_uploaded',
|
||||||
GROUP_JOIN: 'group_join',
|
GROUP_JOIN: 'group_join',
|
||||||
GROUP_LEAVE: 'group_leave',
|
GROUP_LEAVE: 'group_leave',
|
||||||
|
GROUP_ADMIN_CHANGED: 'group_admin_changed',
|
||||||
GROUP_UPDATE: 'group_update',
|
GROUP_UPDATE: 'group_update',
|
||||||
QR_RECEIVED: 'qr',
|
QR_RECEIVED: 'qr',
|
||||||
LOADING_SCREEN: 'loading_screen',
|
LOADING_SCREEN: 'loading_screen',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue