mirror of
https://github.com/cheveguerra/whatsapp-web.js.git
synced 2026-04-19 20:19:14 +00:00
feat: update group settings (messages and set info admins only) (#374)
close #187
This commit is contained in:
@@ -35,6 +35,7 @@ class GroupChat extends Chat {
|
|||||||
get description() {
|
get description() {
|
||||||
return this.groupMetadata.desc;
|
return this.groupMetadata.desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the group participants
|
* Gets the group participants
|
||||||
* @type {array}
|
* @type {array}
|
||||||
@@ -112,6 +113,38 @@ class GroupChat extends Chat {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the group settings to only allow admins to send messages.
|
||||||
|
* @param {boolean} [adminsOnly=true] Enable or disable this option
|
||||||
|
* @returns {Promise<boolean>} Returns true if the setting was properly updated. This can return false if the user does not have the necessary permissions.
|
||||||
|
*/
|
||||||
|
async setMessagesAdminsOnly(adminsOnly=true) {
|
||||||
|
let res = await this.client.pupPage.evaluate((chatId, value) => {
|
||||||
|
return window.Store.Wap.setGroupProperty(chatId, 'announcement', value);
|
||||||
|
}, this.id._serialized, adminsOnly);
|
||||||
|
|
||||||
|
if (res.status !== 200) return false;
|
||||||
|
|
||||||
|
this.groupMetadata.announce = adminsOnly;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the group settings to only allow admins to edit group info (title, description, photo).
|
||||||
|
* @param {boolean} [adminsOnly=true] Enable or disable this option
|
||||||
|
* @returns {Promise<boolean>} Returns true if the setting was properly updated. This can return false if the user does not have the necessary permissions.
|
||||||
|
*/
|
||||||
|
async setInfoAdminsOnly(adminsOnly=true) {
|
||||||
|
let res = await this.client.pupPage.evaluate((chatId, value) => {
|
||||||
|
return window.Store.Wap.setGroupProperty(chatId, 'restrict', value);
|
||||||
|
}, this.id._serialized, adminsOnly);
|
||||||
|
|
||||||
|
if (res.status !== 200) return false;
|
||||||
|
|
||||||
|
this.groupMetadata.restrict = adminsOnly;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the invite code for a specific group
|
* Gets the invite code for a specific group
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user