51 lines
2.1 KiB
JavaScript
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);
|
|
}
|
|
} |