fix(baileys): cast messageRaw and its properties to any for type safety

This commit is contained in:
Vitordotpy
2025-12-15 22:35:07 -03:00
parent 72b0833ce2
commit f46699ef3f

View File

@@ -1564,12 +1564,11 @@ export class BaileysStartupService extends ChannelStartupService {
const readChatToUpdate: Record<string, true> = {}; // {remoteJid: true} const readChatToUpdate: Record<string, true> = {}; // {remoteJid: true}
for await (const { key, update } of args) { for await (const { key, update } of args) {
// Normalize JIDs immediately to ensure consistent DB lookups
const keyAny = key as any; const keyAny = key as any;
if (keyAny.remoteJid) keyAny.remoteJid = keyAny.remoteJid.replace(/:.*$/, ''); const normalizedRemoteJid = keyAny.remoteJid?.replace(/:.*$/, '');
if (keyAny.participant) keyAny.participant = keyAny.participant.replace(/:.*$/, ''); const normalizedParticipant = keyAny.participant?.replace(/:.*$/, '');
if (settings?.groupsIgnore && keyAny.remoteJid?.includes('@g.us')) { if (settings?.groupsIgnore && normalizedRemoteJid?.includes('@g.us')) {
continue; continue;
} }
@@ -1620,9 +1619,9 @@ export class BaileysStartupService extends ChannelStartupService {
const message: any = { const message: any = {
keyId: key.id, keyId: key.id,
remoteJid: keyAny?.remoteJid?.replace(/:.*$/, ''), remoteJid: normalizedRemoteJid,
fromMe: key.fromMe, fromMe: key.fromMe,
participant: keyAny?.participant?.replace(/:.*$/, ''), participant: normalizedParticipant,
status: status[update.status] ?? 'SERVER_ACK', status: status[update.status] ?? 'SERVER_ACK',
pollUpdates, pollUpdates,
instanceId: this.instanceId, instanceId: this.instanceId,
@@ -4679,12 +4678,20 @@ export class BaileysStartupService extends ChannelStartupService {
remoteJid: keyAny.remoteJid?.replace(/:.*$/, ''), remoteJid: keyAny.remoteJid?.replace(/:.*$/, ''),
participant: keyAny.participant?.replace(/:.*$/, ''), participant: keyAny.participant?.replace(/:.*$/, ''),
}, },
pushName: message.pushName, pushName:
message: message.message, message.pushName ||
(message.key.fromMe
? 'Você'
: message?.participant || (message.key?.participant ? message.key.participant.split('@')[0] : null)),
message: this.deserializeMessageBuffers({ ...message.message }),
messageType: getContentType(message.message), messageType: getContentType(message.message),
messageTimestamp: message.messageTimestamp, messageTimestamp: Long.isLong(message.messageTimestamp)
? message.messageTimestamp.toNumber()
: (message.messageTimestamp as number),
source: getDevice(keyAny.id), source: getDevice(keyAny.id),
instanceId: this.instanceId, instanceId: this.instanceId,
status: status[message.status],
contextInfo: this.deserializeMessageBuffers(message.message?.messageContextInfo),
}; };
if (!messageRaw.status && message.key.fromMe === false) { if (!messageRaw.status && message.key.fromMe === false) {