From f2d9682560c3d4fb2886025a408855c2cc975c03 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Tue, 2 Dec 2025 19:58:59 -0600 Subject: [PATCH] Fix: filtrar mensajes de protocolo en saveMessage - Skip protocol messages (HISTORY_SYNC, SECURITY_NOTIFICATION, etc) - Skip messages sin contenido real - Agregar caption para video/document messages - Solo guardar mensajes con contenido real de chat --- server/services/baileys/manager.ts | 36 +++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/server/services/baileys/manager.ts b/server/services/baileys/manager.ts index cbbe1cf..2f2a91c 100644 --- a/server/services/baileys/manager.ts +++ b/server/services/baileys/manager.ts @@ -492,6 +492,34 @@ class BaileysManager extends EventEmitter { const jid = msg.key.remoteJid if (!jid) return + // Skip protocol messages (internal WhatsApp messages) + if (msg.message?.protocolMessage) { + console.log(`[BaileysManager] Skipping protocol message: ${msg.message.protocolMessage.type}`) + return + } + + // Skip if no actual message content + if (!msg.message) { + console.log(`[BaileysManager] Skipping message with no content`) + return + } + + // Get message content + const content = msg.message?.conversation || + msg.message?.extendedTextMessage?.text || + msg.message?.imageMessage?.caption || + msg.message?.videoMessage?.caption || + msg.message?.documentMessage?.caption || + '' + + const messageType = this.getMessageType(msg.message) + + // Skip unknown message types with no content (likely internal messages) + if (messageType === 'unknown' && !content) { + console.log(`[BaileysManager] Skipping unknown message type with no content`) + return + } + // Ensure chat exists const chatResult = await query<{ id: string }>( `INSERT INTO chats (instance_id, jid, name, is_group) @@ -502,14 +530,6 @@ class BaileysManager extends EventEmitter { ) const chatId = chatResult.rows[0].id - // Get message content - const content = msg.message?.conversation || - msg.message?.extendedTextMessage?.text || - msg.message?.imageMessage?.caption || - '' - - const messageType = this.getMessageType(msg.message) - // Insert message await query( `INSERT INTO messages (