group events: fix serialization issue
This commit is contained in:
@@ -393,7 +393,7 @@ export const makeCommunitiesSocket = (config: SocketConfig) => {
|
|||||||
participant: key.remoteJid
|
participant: key.remoteJid
|
||||||
},
|
},
|
||||||
messageStubType: WAMessageStubType.GROUP_PARTICIPANT_ADD,
|
messageStubType: WAMessageStubType.GROUP_PARTICIPANT_ADD,
|
||||||
messageStubParameters: [authState.creds.me!.id],
|
messageStubParameters: [JSON.stringify(authState.creds.me)],
|
||||||
participant: key.remoteJid,
|
participant: key.remoteJid,
|
||||||
messageTimestamp: unixTimestampSeconds()
|
messageTimestamp: unixTimestampSeconds()
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -265,7 +265,7 @@ export const makeGroupsSocket = (config: SocketConfig) => {
|
|||||||
participant: key.remoteJid
|
participant: key.remoteJid
|
||||||
},
|
},
|
||||||
messageStubType: WAMessageStubType.GROUP_PARTICIPANT_ADD,
|
messageStubType: WAMessageStubType.GROUP_PARTICIPANT_ADD,
|
||||||
messageStubParameters: [authState.creds.me!.id],
|
messageStubParameters: [JSON.stringify(authState.creds.me)],
|
||||||
participant: key.remoteJid,
|
participant: key.remoteJid,
|
||||||
messageTimestamp: unixTimestampSeconds()
|
messageTimestamp: unixTimestampSeconds()
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -629,7 +629,7 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
|
|||||||
msg.messageStubType = WAMessageStubType.GROUP_PARTICIPANT_LEAVE
|
msg.messageStubType = WAMessageStubType.GROUP_PARTICIPANT_LEAVE
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.messageStubParameters = participants
|
msg.messageStubParameters = participants.map(a => JSON.stringify(a))
|
||||||
break
|
break
|
||||||
case 'subject':
|
case 'subject':
|
||||||
msg.messageStubType = WAMessageStubType.GROUP_CHANGE_SUBJECT
|
msg.messageStubType = WAMessageStubType.GROUP_CHANGE_SUBJECT
|
||||||
@@ -673,7 +673,7 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
|
|||||||
case 'created_membership_requests':
|
case 'created_membership_requests':
|
||||||
msg.messageStubType = WAMessageStubType.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD
|
msg.messageStubType = WAMessageStubType.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD
|
||||||
msg.messageStubParameters = [
|
msg.messageStubParameters = [
|
||||||
{ lid: affectedParticipantLid, pn: affectedParticipantPn } as LIDMapping,
|
JSON.stringify({ lid: affectedParticipantLid, pn: affectedParticipantPn }),
|
||||||
'created',
|
'created',
|
||||||
child.attrs.request_method!
|
child.attrs.request_method!
|
||||||
]
|
]
|
||||||
@@ -683,7 +683,7 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
|
|||||||
// TODO: LIDMAPPING SUPPORT
|
// TODO: LIDMAPPING SUPPORT
|
||||||
msg.messageStubType = WAMessageStubType.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD
|
msg.messageStubType = WAMessageStubType.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD
|
||||||
msg.messageStubParameters = [
|
msg.messageStubParameters = [
|
||||||
{ lid: affectedParticipantLid, pn: affectedParticipantPn } as LIDMapping,
|
JSON.stringify({ lid: affectedParticipantLid, pn: affectedParticipantPn }),
|
||||||
isDenied ? 'revoked' : 'rejected'
|
isDenied ? 'revoked' : 'rejected'
|
||||||
]
|
]
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -395,12 +395,12 @@ const processMessage = async (
|
|||||||
|
|
||||||
switch (message.messageStubType) {
|
switch (message.messageStubType) {
|
||||||
case WAMessageStubType.GROUP_PARTICIPANT_CHANGE_NUMBER:
|
case WAMessageStubType.GROUP_PARTICIPANT_CHANGE_NUMBER:
|
||||||
participants = message.messageStubParameters || []
|
participants = message.messageStubParameters.map((a: any) => JSON.parse(a as string)) || []
|
||||||
emitParticipantsUpdate('modify')
|
emitParticipantsUpdate('modify')
|
||||||
break
|
break
|
||||||
case WAMessageStubType.GROUP_PARTICIPANT_LEAVE:
|
case WAMessageStubType.GROUP_PARTICIPANT_LEAVE:
|
||||||
case WAMessageStubType.GROUP_PARTICIPANT_REMOVE:
|
case WAMessageStubType.GROUP_PARTICIPANT_REMOVE:
|
||||||
participants = message.messageStubParameters || []
|
participants = message.messageStubParameters.map((a: any) => JSON.parse(a as string)) || []
|
||||||
emitParticipantsUpdate('remove')
|
emitParticipantsUpdate('remove')
|
||||||
// mark the chat read only if you left the group
|
// mark the chat read only if you left the group
|
||||||
if (participantsIncludesMe()) {
|
if (participantsIncludesMe()) {
|
||||||
@@ -411,7 +411,7 @@ const processMessage = async (
|
|||||||
case WAMessageStubType.GROUP_PARTICIPANT_ADD:
|
case WAMessageStubType.GROUP_PARTICIPANT_ADD:
|
||||||
case WAMessageStubType.GROUP_PARTICIPANT_INVITE:
|
case WAMessageStubType.GROUP_PARTICIPANT_INVITE:
|
||||||
case WAMessageStubType.GROUP_PARTICIPANT_ADD_REQUEST_JOIN:
|
case WAMessageStubType.GROUP_PARTICIPANT_ADD_REQUEST_JOIN:
|
||||||
participants = message.messageStubParameters || []
|
participants = message.messageStubParameters.map((a: any) => JSON.parse(a as string)) || []
|
||||||
if (participantsIncludesMe()) {
|
if (participantsIncludesMe()) {
|
||||||
chat.readOnly = false
|
chat.readOnly = false
|
||||||
}
|
}
|
||||||
@@ -419,11 +419,11 @@ const processMessage = async (
|
|||||||
emitParticipantsUpdate('add')
|
emitParticipantsUpdate('add')
|
||||||
break
|
break
|
||||||
case WAMessageStubType.GROUP_PARTICIPANT_DEMOTE:
|
case WAMessageStubType.GROUP_PARTICIPANT_DEMOTE:
|
||||||
participants = message.messageStubParameters || []
|
participants = message.messageStubParameters.map((a: any) => JSON.parse(a as string)) || []
|
||||||
emitParticipantsUpdate('demote')
|
emitParticipantsUpdate('demote')
|
||||||
break
|
break
|
||||||
case WAMessageStubType.GROUP_PARTICIPANT_PROMOTE:
|
case WAMessageStubType.GROUP_PARTICIPANT_PROMOTE:
|
||||||
participants = message.messageStubParameters || []
|
participants = message.messageStubParameters.map((a: any) => JSON.parse(a as string)) || []
|
||||||
emitParticipantsUpdate('promote')
|
emitParticipantsUpdate('promote')
|
||||||
break
|
break
|
||||||
case WAMessageStubType.GROUP_CHANGE_ANNOUNCE:
|
case WAMessageStubType.GROUP_CHANGE_ANNOUNCE:
|
||||||
@@ -457,7 +457,7 @@ const processMessage = async (
|
|||||||
emitGroupUpdate({ joinApprovalMode: approvalMode === 'on' })
|
emitGroupUpdate({ joinApprovalMode: approvalMode === 'on' })
|
||||||
break
|
break
|
||||||
case WAMessageStubType.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD: // TODO: Add other events
|
case WAMessageStubType.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD: // TODO: Add other events
|
||||||
const participant = message.messageStubParameters?.[0] as LIDMapping
|
const participant = JSON.parse(message.messageStubParameters?.[0]) as LIDMapping
|
||||||
const action = message.messageStubParameters?.[1] as RequestJoinAction
|
const action = message.messageStubParameters?.[1] as RequestJoinAction
|
||||||
const method = message.messageStubParameters?.[2] as RequestJoinMethod
|
const method = message.messageStubParameters?.[2] as RequestJoinMethod
|
||||||
emitGroupRequestJoin(participant, action, method)
|
emitGroupRequestJoin(participant, action, method)
|
||||||
|
|||||||
Reference in New Issue
Block a user