feat: Returns an object with information about the invite code's group (#1562)

* feat: Returns an object with information about the invite code's group

* refactor: more information in metadata group
This commit is contained in:
LeonardoBein
2022-06-13 12:04:01 -03:00
committed by GitHub
parent 1fc5f67584
commit 227cab2f95
3 changed files with 18 additions and 0 deletions

View File

@@ -777,6 +777,11 @@ Of course, replace ``` xyz ``` with an actual ID.
console.log("joined to: " + response)
```
Of course, replace ``` xxx ``` with invitation code.
- To get info group by invite code
```ts
const response = await sock.groupGetInviteInfo("xxx")
console.log("group information: " + response)
```
- To join the group using groupInviteMessage

View File

@@ -153,6 +153,10 @@ export const makeGroupsSocket = (config: SocketConfig) => {
}])
return results.attrs.from
},
groupGetInviteInfo: async(code: string) => {
const results = await groupQuery('@g.us', 'get', [{ tag: 'invite', attrs: { code } }])
return extractGroupMetadata(results)
},
groupToggleEphemeral: async(jid: string, ephemeralExpiration: number) => {
const content: BinaryNode = ephemeralExpiration ?
{ tag: 'ephemeral', attrs: { expiration: ephemeralExpiration.toString() } } :
@@ -216,6 +220,9 @@ export const extractGroupMetadata = (result: BinaryNode) => {
const metadata: GroupMetadata = {
id: groupId,
subject: group.attrs.subject,
subjectOwner: group.attrs.s_o,
subjectTime: +group.attrs.s_t,
size: +group.attrs.size,
creation: +group.attrs.creation,
owner: group.attrs.creator ? jidNormalizedUser(group.attrs.creator) : undefined,
desc,

View File

@@ -8,6 +8,10 @@ export interface GroupMetadata {
id: string
owner: string | undefined
subject: string
/** group subject owner */
subjectOwner?: string
/** group subject modification date */
subjectTime?: number
creation: number
desc?: string
descOwner?: string
@@ -16,6 +20,8 @@ export interface GroupMetadata {
restrict?: boolean
/** is set when the group only allows admins to write messages */
announce?: boolean
/** number of group participants */
size?: number
// Baileys modified array
participants: GroupParticipant[]
ephemeralDuration?: number