@@ -1561,7 +1561,12 @@ export class BaileysStartupService extends ChannelStartupService {
15611561 const readChatToUpdate : Record < string , true > = { } ; // {remoteJid: true}
15621562
15631563 for await ( const { key, update } of args ) {
1564- if ( settings ?. groupsIgnore && key . remoteJid ?. includes ( '@g.us' ) ) {
1564+ // Normalize JIDs immediately to ensure consistent DB lookups
1565+ const keyAny = key as any ;
1566+ if ( keyAny . remoteJid ) keyAny . remoteJid = keyAny . remoteJid . replace ( / : .* $ / , '' ) ;
1567+ if ( keyAny . participant ) keyAny . participant = keyAny . participant . replace ( / : .* $ / , '' ) ;
1568+
1569+ if ( settings ?. groupsIgnore && keyAny . remoteJid ?. includes ( '@g.us' ) ) {
15651570 continue ;
15661571 }
15671572
@@ -1612,9 +1617,9 @@ export class BaileysStartupService extends ChannelStartupService {
16121617
16131618 const message : any = {
16141619 keyId : key . id ,
1615- remoteJid : key ?. remoteJid ,
1620+ remoteJid : keyAny ?. remoteJid ?. replace ( / : . * $ / , '' ) ,
16161621 fromMe : key . fromMe ,
1617- participant : key ?. participant ,
1622+ participant : keyAny ?. participant ?. replace ( / : . * $ / , '' ) ,
16181623 status : status [ update . status ] ?? 'SERVER_ACK' ,
16191624 pollUpdates,
16201625 instanceId : this . instanceId ,
@@ -4662,26 +4667,20 @@ export class BaileysStartupService extends ChannelStartupService {
46624667 return obj ;
46634668 }
46644669
4665- private prepareMessage ( message : proto . IWebMessageInfo ) : any {
4666- const contentType = getContentType ( message . message ) ;
4667- const contentMsg = message ?. message [ contentType ] as any ;
4668-
4669- const messageRaw = {
4670- key : message . key , // Save key exactly as it comes from Baileys
4671- pushName :
4672- message . pushName ||
4673- ( message . key . fromMe
4674- ? 'Você'
4675- : message ?. participant || ( message . key ?. participant ? message . key . participant . split ( '@' ) [ 0 ] : null ) ) ,
4676- status : status [ message . status ] ,
4677- message : this . deserializeMessageBuffers ( { ...message . message } ) ,
4678- contextInfo : this . deserializeMessageBuffers ( contentMsg ?. contextInfo ) ,
4679- messageType : contentType || 'unknown' ,
4680- messageTimestamp : Long . isLong ( message . messageTimestamp )
4681- ? message . messageTimestamp . toNumber ( )
4682- : ( message . messageTimestamp as number ) ,
4670+ private prepareMessage ( message : WAMessage ) : Message {
4671+ const keyAny = message . key as any ;
4672+ const messageRaw : any = {
4673+ key : {
4674+ ...message . key ,
4675+ remoteJid : keyAny . remoteJid ?. replace ( / : .* $ / , '' ) ,
4676+ participant : keyAny . participant ?. replace ( / : .* $ / , '' ) ,
4677+ } ,
4678+ pushName : message . pushName ,
4679+ message : message . message ,
4680+ messageType : getContentType ( message . message ) ,
4681+ messageTimestamp : message . messageTimestamp ,
4682+ source : getDevice ( keyAny . id ) ,
46834683 instanceId : this . instanceId ,
4684- source : getDevice ( message . key . id ) ,
46854684 } ;
46864685
46874686 if ( ! messageRaw . status && message . key . fromMe === false ) {
0 commit comments