From 5d697b9890e77ff9b5e5153c9ee8886748c8f0fe Mon Sep 17 00:00:00 2001 From: piLovr <95534694+piLovr@users.noreply.github.com> Date: Thu, 31 Aug 2023 09:46:01 +0200 Subject: [PATCH 1/4] Update groups.ts --- src/Socket/groups.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Socket/groups.ts b/src/Socket/groups.ts index 5e6b75d..87a4382 100644 --- a/src/Socket/groups.ts +++ b/src/Socket/groups.ts @@ -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 { From fd37f8b4f307adb5e6ec638a84d2478e2618b935 Mon Sep 17 00:00:00 2001 From: piLovr <95534694+piLovr@users.noreply.github.com> Date: Thu, 31 Aug 2023 09:58:24 +0200 Subject: [PATCH 2/4] Update GroupMetadata.ts --- src/Types/GroupMetadata.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Types/GroupMetadata.ts b/src/Types/GroupMetadata.ts index 19c5665..bcb8f4a 100644 --- a/src/Types/GroupMetadata.ts +++ b/src/Types/GroupMetadata.ts @@ -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]: {} } -} \ No newline at end of file +} From 3061ede2064fbe2050d212f512094c76e2359f8b Mon Sep 17 00:00:00 2001 From: piLovr <95534694+piLovr@users.noreply.github.com> Date: Thu, 31 Aug 2023 10:13:00 +0200 Subject: [PATCH 3/4] Update groups.ts --- src/Socket/groups.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Socket/groups.ts b/src/Socket/groups.ts index 87a4382..4464aa1 100644 --- a/src/Socket/groups.ts +++ b/src/Socket/groups.ts @@ -318,7 +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 memberAddMode = getBinaryNodeChildString(group, 'member_add_mode')? === "all_member_add" const metadata: GroupMetadata = { id: groupId, subject: group.attrs.subject, From 39623111083f57a96cd33ffc55baeee290df6a9f Mon Sep 17 00:00:00 2001 From: piLovr <95534694+piLovr@users.noreply.github.com> Date: Thu, 31 Aug 2023 10:29:55 +0200 Subject: [PATCH 4/4] Update groups.ts --- src/Socket/groups.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Socket/groups.ts b/src/Socket/groups.ts index 4464aa1..cfc11a9 100644 --- a/src/Socket/groups.ts +++ b/src/Socket/groups.ts @@ -318,7 +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 memberAddMode = getBinaryNodeChildString(group, 'member_add_mode') == "all_member_add" const metadata: GroupMetadata = { id: groupId, subject: group.attrs.subject,