Spaces:
Paused
Paused
| // 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 }; | |