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