Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- client.on("message", async msg => {
- const userMessage = msg.body.toLowerCase();
- const chatId = msg.from; // 📌 Número del cliente que envió el mensaje
- const recipientId = msg.to; // 📌 Número del destinatario (cuando el bot responde)
- // 📌 Normalizar números eliminando "@c.us"
- const normalizedChatId = chatId.replace("@c.us", "");
- const normalizedRecipientId = recipientId.replace("@c.us", "");
- console.log("===========================================");
- console.log(`📩 Mensaje recibido de: ${chatId}`);
- console.log(`📩 Contenido del mensaje: ${userMessage}`);
- console.log(`📩 ¿Mensaje fue enviado por el bot?: ${msg.fromMe}`);
- console.log(`📩 Comparando senderId con OWNER_NUMBER: ${normalizedChatId} === ${OWNER_NUMBER}`);
- console.log(`📩 Comparando recipientId con OWNER_NUMBER: ${normalizedRecipientId} === ${OWNER_NUMBER}`);
- console.log("===========================================");
- // 📌 Si el dueño (OWNER_NUMBER) envía un mensaje a un cliente, desactivar bot para ese cliente
- if (!msg.fromMe && normalizedChatId === OWNER_NUMBER) {
- console.log(`🛑 El dueño (${OWNER_NUMBER}) ha enviado un mensaje. Desactivando bot para ${normalizedRecipientId}.`);
- activeConversations.set(normalizedRecipientId, Date.now()); // ⏳ Desactivar bot para este cliente
- return; // ❌ No responder
- }
- // 📌 Si el bot está desactivado para este cliente, verificar si pasaron 15 minutos
- if (activeConversations.has(normalizedChatId)) {
- const lastInteraction = activeConversations.get(normalizedChatId);
- const elapsedTime = (Date.now() - lastInteraction) / 60000; // ⏳ Minutos desde la última interacción
- if (elapsedTime < 15) {
- console.log(`⏳ Bot desactivado para ${chatId}, tiempo restante: ${(15 - elapsedTime).toFixed(1)} min.`);
- return; // ❌ No responder si no han pasado 15 minutos
- } else {
- console.log(`✅ Reactivando bot para ${chatId} tras 15 min de inactividad.`);
- activeConversations.delete(normalizedChatId); // ✅ Eliminar restricción y reactivar bot
- }
- }
- // 📌 Si el bot está activo, procesar el mensaje del cliente normalmente
- await handleUserState(chatId, userMessage, msg);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement