Initial commit
This commit is contained in:
45
src/inc/events/message.mjs
Normal file
45
src/inc/events/message.mjs
Normal file
@ -0,0 +1,45 @@
|
||||
import { logger } from "../log";
|
||||
import { cfg } from "../cfg";
|
||||
|
||||
const parseArgs = msg => {
|
||||
let args = msg.trim().split(" ");
|
||||
let cmd = args.shift();
|
||||
return {
|
||||
cmd: cmd.replace(/^(\.|\/|\!)/, ""),
|
||||
args: args
|
||||
};
|
||||
};
|
||||
|
||||
export default self => {
|
||||
self.bot.on("message", e => {
|
||||
for (var [name, trigger] of self._trigger.entries()) {
|
||||
if (!trigger.call.exec(e.message))
|
||||
continue;
|
||||
if (!trigger.clients.includes(e.type))
|
||||
continue;
|
||||
|
||||
/*let active = false;
|
||||
if (e.type === "irc" && cfg.trigger[e.network + e.channel]) {
|
||||
if (cfg.trigger[e.network + e.channel].val[trigger.name])
|
||||
active = true;
|
||||
}
|
||||
else
|
||||
active = trigger.active;*/
|
||||
|
||||
//if (!active)
|
||||
// continue;
|
||||
|
||||
if ((e.self.set !== "all" && e.self.set !== trigger.set) && trigger.set !== "all")
|
||||
continue;
|
||||
|
||||
if (trigger.level > e.user.level.level) {
|
||||
e.reply(`no permission, min level ${trigger.level} required`);
|
||||
break;
|
||||
}
|
||||
|
||||
e = Object.assign(e, parseArgs(e.message));
|
||||
trigger.f(e);
|
||||
}
|
||||
logger.info(`${e.network} -> ${e.channel} -> ${e.user.nick}: ${e.message}`);
|
||||
});
|
||||
};
|
Reference in New Issue
Block a user