Files
planilla/agent/handlers.js
josedario87 745168cf51
Some checks failed
build-and-push / deploy (push) Has been skipped
build-and-push / build (push) Failing after 6s
sistema creado v0.5.0
2025-05-14 16:10:41 -06:00

51 lines
2.1 KiB
JavaScript

// handlers.js
import { respuestaMCP } from './respuestas/respuestaMCP.js'; // <- NUEVA IMPORTACIÓN
import fs from 'fs/promises';
import { log } from './logger.js';
// Ya no se necesitan: sendText, fetchChatMessages, setTypingStatus, askGemini aquí
import { processMessage } from './utils/processMessage.js';
import { saveMedia } from './utils/saveMedia.js';
import { respuestaNormal } from './respuestas/respuestaNormal.js'; // <- NUEVA IMPORTACIÓN
import { respuestaBrave } from './respuestas/respuestaBrave.js'; // <- NUEVA IMPORTACIÓN
import { sendText } from './whatsapp.js'; // <- NUEVA IMPORTACIÓN
/* carpeta raíz donde saveMedia deja todo */
const MEDIA_DIR = '/media';
await fs.mkdir(MEDIA_DIR, { recursive: true });
// La función cleanForGemini se movió a respuestaNormal.js
export async function processIncoming(raw) {
// Guarda media si no es un mensaje de texto plano
if (raw.type !== 'chat') {
try {
// Nota: saveMedia podría necesitar acceso a MEDIA_DIR si no está codificado internamente
await saveMedia(raw /*, MEDIA_DIR */); // Podrías necesitar pasar MEDIA_DIR si saveMedia lo requiere
} catch (error) {
log('error', 'Error guardando media:', error);
}
}
const msg = processMessage(raw);
const text = msg.text || '';
/* ----- comando @nucleo ----- */
if (/^@nucleo(\s|$)/i.test(text)) {
// Llama a la función importada
// await respuestaNormal(msg); // <- LLAMADA A LA FUNCIÓN EXTERNA
await respuestaMCP(msg); // <- LLAMADA A LA FUNCIÓN EXTERNA
} else {
// Lógica para otros mensajes (si aplica)
// log('debug', 'Mensaje recibido no es comando @nucleo:', text);
}
if (/^@nucleo.(\s|$)/i.test(text)) {
log('info', '🧠 Generando respuesta para @nucleo...');
const respuestaObjMCP = await respuestaBrave(msg); // <- LLAMADA A LA FUNCIÓN EXTERNA
log('info', 'Respuesta de MCP:', respuestaObjMCP);
sendText(msg.chatId, respuestaObjMCP);
} else {
// Lógica para otros mensajes (si aplica)
// log('debug', 'Mensaje recibido no es comando @nucleo:', text);
}
}