mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
feat: approve, reject, list request join (#117)
This commit is contained in:
15
README.md
15
README.md
@@ -847,6 +847,21 @@ Of course, replace ``` xyz ``` with an actual ID.
|
|||||||
```
|
```
|
||||||
Of course, replace ``` xxx ``` with invitation code.
|
Of course, replace ``` xxx ``` with invitation code.
|
||||||
|
|
||||||
|
- To get list request join
|
||||||
|
``` ts
|
||||||
|
const response = await sock.groupRequestParticipantsList("abcd-xyz@g.us")
|
||||||
|
console.log(response)
|
||||||
|
```
|
||||||
|
- To approve/reject request join
|
||||||
|
``` ts
|
||||||
|
const response = await sock.groupRequestParticipantsUpdate(
|
||||||
|
"abcd-xyz@g.us", // id group,
|
||||||
|
["abcd@s.whatsapp.net", "efgh@s.whatsapp.net"],
|
||||||
|
"approve" // replace this parameter with "reject"
|
||||||
|
)
|
||||||
|
console.log(response)
|
||||||
|
```
|
||||||
|
|
||||||
## Privacy
|
## Privacy
|
||||||
- To get the privacy settings
|
- To get the privacy settings
|
||||||
``` ts
|
``` ts
|
||||||
|
|||||||
@@ -130,6 +130,47 @@ export const makeGroupsSocket = (config: SocketConfig) => {
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
groupRequestParticipantsList: async(jid: string) => {
|
||||||
|
const result = await groupQuery(
|
||||||
|
jid,
|
||||||
|
'get',
|
||||||
|
[
|
||||||
|
{
|
||||||
|
tag: 'membership_approval_requests',
|
||||||
|
attrs: {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
)
|
||||||
|
const node = getBinaryNodeChild(result, 'membership_approval_requests')
|
||||||
|
const participants = getBinaryNodeChildren(node, 'membership_approval_request')
|
||||||
|
return participants.map(v => v.attrs)
|
||||||
|
},
|
||||||
|
groupRequestParticipantsUpdate: async(jid: string, participants: string[], action: 'approve' | 'reject') => {
|
||||||
|
const result = await groupQuery(
|
||||||
|
jid,
|
||||||
|
'set',
|
||||||
|
[{
|
||||||
|
tag: 'membership_requests_action',
|
||||||
|
attrs: {},
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
tag: action,
|
||||||
|
attrs: { },
|
||||||
|
content: participants.map(jid => ({
|
||||||
|
tag: 'participant',
|
||||||
|
attrs: { jid }
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}]
|
||||||
|
)
|
||||||
|
const node = getBinaryNodeChild(result, 'membership_requests_action')
|
||||||
|
const nodeAction = getBinaryNodeChild(node!, action)
|
||||||
|
const participantsAffected = getBinaryNodeChildren(nodeAction!, 'participant')
|
||||||
|
return participantsAffected.map(p => {
|
||||||
|
return { status: p.attrs.error || '200', jid: p.attrs.jid }
|
||||||
|
})
|
||||||
|
},
|
||||||
groupParticipantsUpdate: async(
|
groupParticipantsUpdate: async(
|
||||||
jid: string,
|
jid: string,
|
||||||
participants: string[],
|
participants: string[],
|
||||||
|
|||||||
Reference in New Issue
Block a user