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) {
|
async function sendWhatsAppAuto(phone, message, instanceName, useDelay = false) {
|
||||||
if (!EVOLUTION_BASE_URL || !EVOLUTION_API_KEY) {
|
if (!EVOLUTION_BASE_URL || !EVOLUTION_API_KEY) {
|
||||||
console.error("⚠️ WhatsApp omitido: Servidor Evolution no configurado.");
|
console.error("⚠️ WhatsApp omitido: Servidor Evolution no configurado.");
|
||||||
return false;
|
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 {
|
try {
|
||||||
const baseUrl = EVOLUTION_BASE_URL.replace(/\/$/, "");
|
const baseUrl = EVOLUTION_BASE_URL.replace(/\/$/, "");
|
||||||
const url = `${baseUrl}/message/sendText/${instanceName}`;
|
const url = `${baseUrl}/message/sendText/${instanceName}`;
|
||||||
@@ -873,7 +890,7 @@ async function sendWhatsAppAuto(phone, message, instanceName, useDelay = false)
|
|||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
number: phone,
|
number: phone,
|
||||||
text: message,
|
text: message,
|
||||||
delay: useDelay ? 2000 : 0
|
delay: timeToType // Usamos el tiempo dinámico que acabamos de calcular
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user