| module.exports = function ({ api, models, Users, Threads, Currencies, ...rest }) { | |
| const logger = require("../../utils/log.js") | |
| return function ({ event, ...rest2 }) { | |
| const { allowInbox } = global.config; | |
| const { userBanned, threadBanned } = global.data; | |
| const { commands, eventRegistered } = global.client; | |
| var { senderID, threadID } = event; | |
| var senderID = String(senderID); | |
| var threadID = String(threadID); | |
| if (userBanned.has(senderID) || threadBanned.has(threadID) || allowInbox == !![] && senderID == threadID) return; | |
| for (const eventReg of eventRegistered) { | |
| const cmd = commands.get(eventReg); | |
| var getText2; | |
| if (cmd.languages && typeof cmd.languages == 'object') | |
| getText2 = (...values) => { | |
| const commandModule = cmd.languages || {}; | |
| if (!commandModule.hasOwnProperty(global.config.language)) | |
| return api.sendMessage(global.getText('handleCommand','notFoundLanguage', cmd.config.name), threadID, messengeID); | |
| var lang = cmd.languages[global.config.language][values[0]] || ''; | |
| for (var i = values.length; i > 0x16c0 + -0x303 + -0x1f * 0xa3; i--) { | |
| const expReg = RegExp('%' + i, 'g'); | |
| lang = lang.replace(expReg, values[i]); | |
| } | |
| return lang; | |
| }; | |
| else getText2 = () => {}; | |
| try { | |
| const Obj = { | |
| ...rest, | |
| ...rest2 | |
| }; | |
| Obj.event = event | |
| Obj.api = api | |
| Obj.models = models | |
| Obj.Users = Users | |
| Obj.Threads = Threads | |
| Obj.Currencies = Currencies | |
| Obj.getText = getText2; | |
| if (cmd) cmd.handleEvent(Obj); | |
| } catch (error) { | |
| logger.log(global.getText('handleCommandEvent', 'moduleError', cmd.config.name), 'error'); | |
| } | |
| } | |
| }; | |
| }; | |