// src/handlers/registeredUserHandler.js const logger = require('../logger'); const whatsapp = require('../services/whatsappService'); const config = require('../config'); // Import config for delays /** * Handles incoming messages from already registered users. Uses whatsappService. */ async function handleRegisteredUser(jid, messageContent, dbUser) { logger.debug({ jid, name: dbUser.name, msg: messageContent }, `[RegisteredUserHandler] Handling message.`); const trimmedLowerCaseMsg = messageContent.trim().toLowerCase(); // 1. Check for "attendance" keyword if (trimmedLowerCaseMsg.includes('attendance')) { logger.info({ jid, name: dbUser.name }, `[RegisteredUserHandler] Attendance keyword detected.`); // Use specific attendance delay const delayOptions = { minDelay: config.attendanceMinDelay, maxDelay: config.attendanceMaxDelay }; await whatsapp.sendMessageWithTyping(jid, { text: `Okay ${dbUser.name}, preparing your attendance details... (PDF generation coming soon!)` }, delayOptions); return; } // 2. Check for exact "hi" or "hello" if (trimmedLowerCaseMsg === 'hi' || trimmedLowerCaseMsg === 'hello') { logger.info({ jid, name: dbUser.name }, `[RegisteredUserHandler] Greeting triggered.`); // Use default delay for greeting await whatsapp.sendMessageWithTyping(jid, { text: `Hello ${dbUser.name}! You are already registered.` }); return; } // No action/reply for other messages logger.debug({ jid, name: dbUser.name, msg: messageContent }, `[RegisteredUserHandler] No specific action triggered. No reply sent.`); } module.exports = { handleRegisteredUser };