Files
whatsapp_bot/nucleo-bot/handlers.js
josedario87 50aee19c85
All checks were successful
build-and-push / build (push) Successful in 7s
separacion de respuesta para mejor handeleo
2025-05-02 20:23:50 -06:00

37 lines
1.3 KiB
JavaScript

// handlers.js
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 './respuesta/respuestaNormal.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
} else {
// Lógica para otros mensajes (si aplica)
// log('debug', 'Mensaje recibido no es comando @nucleo:', text);
}
}