Fix: filtrar mensajes de protocolo en saveMessage
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 50s

- 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
This commit is contained in:
2025-12-02 19:58:59 -06:00
parent 3462827ad9
commit f2d9682560

View File

@@ -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 (