Fix: Agregar soporte para mensajes de respuesta (reply) en envío de texto
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m30s

El endpoint send.post.ts ignoraba el campo quotedMessageId que el frontend
enviaba, causando que los mensajes de respuesta llegaran como mensajes normales.
This commit is contained in:
2025-12-03 10:56:10 -06:00
parent f1d7be175b
commit e8b74e71de

View File

@@ -8,6 +8,7 @@ import { baileysManager } from '../../../../services/baileys/manager'
interface SendMessageBody { interface SendMessageBody {
content?: string content?: string
message?: string message?: string
quotedMessageId?: string
} }
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {
@@ -38,17 +39,33 @@ export default defineEventHandler(async (event) => {
const jid = chatResult.rows[0].jid const jid = chatResult.rows[0].jid
// Get quoted message if provided
let quotedMessage = null
if (body.quotedMessageId) {
const quotedResult = await query(
'SELECT raw_message FROM messages WHERE message_id = $1 AND instance_id = $2',
[body.quotedMessageId, instanceId]
)
if (quotedResult.rows.length > 0) {
quotedMessage = quotedResult.rows[0].raw_message
}
}
try { try {
const result = await baileysManager.sendMessage(instanceId!, jid, { // Build message content
text: messageText const content: any = { text: messageText }
}) if (quotedMessage) {
content.quoted = quotedMessage
}
const result = await baileysManager.sendMessage(instanceId!, jid, content)
// Save sent message to database // Save sent message to database
await query( await query(
`INSERT INTO messages ( `INSERT INTO messages (
instance_id, chat_id, message_id, from_jid, from_me, instance_id, chat_id, message_id, from_jid, from_me,
message_type, content, timestamp, status message_type, content, timestamp, status, raw_message, quoted_message_id
) VALUES ($1, $2, $3, $4, $5, $6, $7, NOW(), $8) ) VALUES ($1, $2, $3, $4, $5, $6, $7, NOW(), $8, $9, $10)
ON CONFLICT (instance_id, message_id) DO NOTHING`, ON CONFLICT (instance_id, message_id) DO NOTHING`,
[ [
instanceId, instanceId,
@@ -58,7 +75,9 @@ export default defineEventHandler(async (event) => {
true, true,
'text', 'text',
messageText, messageText,
'sent' 'sent',
JSON.stringify(result),
body.quotedMessageId || null
] ]
) )