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
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:
@@ -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
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user