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 };