Merge pull request #358 from piLovr/master

add memberAddMode and isCommunity / isCommunityAnnounce in groupMetadata
This commit is contained in:
Alessandro Autiero
2023-10-12 20:31:25 +00:00
committed by GitHub
2 changed files with 11 additions and 1 deletions

View File

@@ -318,6 +318,7 @@ export const extractGroupMetadata = (result: BinaryNode) => {
const groupId = group.attrs.id.includes('@') ? group.attrs.id : jidEncode(group.attrs.id, 'g.us')
const eph = getBinaryNodeChild(group, 'ephemeral')?.attrs.expiration
const memberAddMode = getBinaryNodeChildString(group, 'member_add_mode') == "all_member_add"
const metadata: GroupMetadata = {
id: groupId,
subject: group.attrs.subject,
@@ -330,6 +331,9 @@ export const extractGroupMetadata = (result: BinaryNode) => {
descId,
restrict: !!getBinaryNodeChild(group, 'locked'),
announce: !!getBinaryNodeChild(group, 'announcement'),
isCommunity: !!getBinaryNodeChild(group, 'parent'),
isCommunityAnnounce: !!getBinaryNodeChild(group, 'default_sub_group'),
memberAddMode,
participants: getBinaryNodeChildren(group, 'participant').map(
({ attrs }) => {
return {

View File

@@ -20,6 +20,12 @@ export interface GroupMetadata {
restrict?: boolean
/** is set when the group only allows admins to write messages */
announce?: boolean
/** is set when the group also allows members to add participants */
memberAddMode?: boolean
/** is this a community */
isCommunity?: boolean
/** is this the announce of a community */
isCommunityAnnounce?: boolean
/** number of group participants */
size?: number
// Baileys modified array
@@ -40,4 +46,4 @@ export interface WAGroupCreateResponse {
export interface GroupModificationResponse {
status: number
participants?: { [key: string]: {} }
}
}