Spaces:
Paused
Paused
File size: 1,699 Bytes
14960b8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
// 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 };
|