Actualizar server.js
This commit is contained in:
21
server.js
21
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
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user