Advertisement
ArcaniSGK507

Untitled

Jan 29th, 2025
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. client.on("message", async msg => {
  2.     const userMessage = msg.body.toLowerCase();
  3.     const chatId = msg.from;  // 📌 Número del cliente que envió el mensaje
  4.     const recipientId = msg.to;  // 📌 Número del destinatario (cuando el bot responde)
  5.  
  6.     // 📌 Normalizar números eliminando "@c.us"
  7.     const normalizedChatId = chatId.replace("@c.us", "");
  8.     const normalizedRecipientId = recipientId.replace("@c.us", "");
  9.  
  10.     console.log("===========================================");
  11.     console.log(`📩 Mensaje recibido de: ${chatId}`);
  12.     console.log(`📩 Contenido del mensaje: ${userMessage}`);
  13.     console.log(`📩 ¿Mensaje fue enviado por el bot?: ${msg.fromMe}`);
  14.     console.log(`📩 Comparando senderId con OWNER_NUMBER: ${normalizedChatId} === ${OWNER_NUMBER}`);
  15.     console.log(`📩 Comparando recipientId con OWNER_NUMBER: ${normalizedRecipientId} === ${OWNER_NUMBER}`);
  16.     console.log("===========================================");
  17.  
  18.     // 📌 Si el dueño (OWNER_NUMBER) envía un mensaje a un cliente, desactivar bot para ese cliente
  19.     if (!msg.fromMe && normalizedChatId === OWNER_NUMBER) {
  20.         console.log(`🛑 El dueño (${OWNER_NUMBER}) ha enviado un mensaje. Desactivando bot para ${normalizedRecipientId}.`);
  21.         activeConversations.set(normalizedRecipientId, Date.now()); // ⏳ Desactivar bot para este cliente
  22.         return; // ❌ No responder
  23.     }
  24.  
  25.     // 📌 Si el bot está desactivado para este cliente, verificar si pasaron 15 minutos
  26.     if (activeConversations.has(normalizedChatId)) {
  27.         const lastInteraction = activeConversations.get(normalizedChatId);
  28.         const elapsedTime = (Date.now() - lastInteraction) / 60000; // ⏳ Minutos desde la última interacción
  29.  
  30.         if (elapsedTime < 15) {
  31.             console.log(`⏳ Bot desactivado para ${chatId}, tiempo restante: ${(15 - elapsedTime).toFixed(1)} min.`);
  32.             return; // ❌ No responder si no han pasado 15 minutos
  33.         } else {
  34.             console.log(`✅ Reactivando bot para ${chatId} tras 15 min de inactividad.`);
  35.             activeConversations.delete(normalizedChatId); // ✅ Eliminar restricción y reactivar bot
  36.         }
  37.     }
  38.  
  39.     // 📌 Si el bot está activo, procesar el mensaje del cliente normalmente
  40.     await handleUserState(chatId, userMessage, msg);
  41. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement