File size: 1,757 Bytes
f7e1fa7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
39
module.exports = function ({ Users, Threads }) {
    const logger =require("../../utils/log.js");
    const threads = require('../database/data/threadsData.json')
    const users = require('../database/data/usersData.json')
    return async function ({ event }) {
        const { allUserID, allThreadID } = global.data; 
        const { autoCreateDB } = global.config;
        if (autoCreateDB == ![]) return;
        var { senderID, threadID } = event;
        senderID = String(senderID);
        var threadID = String(threadID);
        try {
            if (!allThreadID.includes(threadID) && event.isGroup == !![] && !threads.hasOwnProperty(threadID)) {
                allThreadID.push(threadID)
                await Threads.createData(threadID);
                logger.log(global.getText('handleCreateDatabase', 'newThread', threadID), 'DATABASE');
            }
            if(threads.hasOwnProperty(threadID)) {
                var data = threads[threadID]
                if(data) {
                    if(!data.threadInfo.participantIDs.includes(senderID)) {
                        data.threadInfo.participantIDs.push(senderID)
                        logger.log('Perform more group data ' + threadID, 'ADD DATA')
                        await Threads.setData(threadID, {threadInfo: data.threadInfo})
                    }
                }
            }
            if (!allUserID.includes(senderID) && !users.hasOwnProperty(senderID)) {
                allUserID.push(senderID)
                await Users.createData(senderID)
                logger.log(global.getText('handleCreateDatabase', 'newUser', senderID), 'DATABASE');
            }
            return;
        } catch (err) {
            return console.log(err);
        }
    };
}