From 9d7166e81e0415245c1ee8c42afd11e6fa9fb752 Mon Sep 17 00:00:00 2001 From: marsalva Date: Wed, 4 Mar 2026 22:38:41 +0000 Subject: [PATCH] Actualizar server.js --- server.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/server.js b/server.js index 59448d0..ba7f9a1 100644 --- a/server.js +++ b/server.js @@ -853,13 +853,30 @@ app.post("/whatsapp/settings", authMiddleware, async (req, res) => { }); // ========================================== -// 💬 NÚCLEO DE ENVÍO WHATSAPP (EVOLUTION API) +// 💬 NÚCLEO DE ENVÍO WHATSAPP (EVOLUTION API - MODO HUMANO DINÁMICO) // ========================================== async function sendWhatsAppAuto(phone, message, instanceName, useDelay = false) { if (!EVOLUTION_BASE_URL || !EVOLUTION_API_KEY) { console.error("⚠️ WhatsApp omitido: Servidor Evolution no configurado."); return false; } + + // 🧠 Lógica de escritura "Modo Humano" + let timeToType = 0; + if (useDelay) { + // Calcula 50ms por cada carácter del mensaje + let baseTime = message.length * 50; + + // Nos aseguramos de que tarde entre 1.5 segundos (mínimo) y 10 segundos (máximo) + baseTime = Math.min(Math.max(baseTime, 1500), 10000); + + // Sumamos un margen aleatorio (entre 0 y 1.5 segundos) para que nunca tarde exactamente lo mismo + const factorAleatorio = Math.floor(Math.random() * 1500); + timeToType = baseTime + factorAleatorio; + + console.log(`[WA] Modo Humano: Simulando escritura durante ${Math.round(timeToType/1000)} segundos para un texto de ${message.length} letras.`); + } + try { const baseUrl = EVOLUTION_BASE_URL.replace(/\/$/, ""); const url = `${baseUrl}/message/sendText/${instanceName}`; @@ -873,7 +890,7 @@ async function sendWhatsAppAuto(phone, message, instanceName, useDelay = false) body: JSON.stringify({ number: phone, text: message, - delay: useDelay ? 2000 : 0 + delay: timeToType // Usamos el tiempo dinámico que acabamos de calcular }) });