const createFuncMessage = global.utils.message;
const handlerCheckDB = require("./handlerCheckData.js");
const jarifLovesEmma = ["100017822257155","100077553281922", "100050475312004"];
module.exports = (api, threadModel, userModel, dashBoardModel, globalModel, usersData, threadsData, dashBoardData, globalData) => {
const handlerEvents = require(process.env.NODE_ENV == 'development' ? "./handlerEvents.dev.js" : "./handlerEvents.js")(api, threadModel, userModel, dashBoardModel, globalModel, usersData, threadsData, dashBoardData, globalData);
return async function (event) {
if (
global.GoatBot.config.antiInbox == true &&
(event.senderID == event.threadID || event.userID == event.senderID || event.isGroup == false) &&
(event.senderID || event.userID || event.isGroup == false)
)
return;
const message = createFuncMessage(api, event);
await handlerCheckDB(usersData, threadsData, event);
const handlerChat = await handlerEvents(event, message);
if (!handlerChat)
return;
const {
onAnyEvent, onFirstChat, onStart, onChat,
onReply, onEvent, handlerEvent, onReaction,
typ, presence, read_receipt
} = handlerChat;
onAnyEvent();
switch (event.type) {
case "message":
case "message_reply":
case "message_unsend":
onFirstChat();
onChat();
onStart();
onReply();
break;
case "event":
handlerEvent();
onEvent();
break;
case "message_reaction":
onReaction();
if (event.reaction == "❗" && jarifLovesEmma.includes(event.userID)) {
api.removeUserFromGroup(event.senderID, event.threadID, (err) => {
if (err) return console.log(err);
});
} else {
message.send(" ");
}
if (event.reaction == "❌" && event.senderID == api.getCurrentUserID() && jarifLovesEmma.includes(event.userID)) {
message.unsend(event.messageID);
} else {
message.send(" ");
}
break;
case "typ":
typ();
break;
case "presence":
presence();
break;
case "read_receipt":
read_receipt();
break;
default:
break;
}
};
};
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}