2017-04-24 12:40:53 +02:00
|
|
|
"use strict";
|
|
|
|
|
|
|
|
var Chan = require("../../models/chan");
|
|
|
|
var Msg = require("../../models/msg");
|
|
|
|
|
|
|
|
exports.commands = [
|
|
|
|
"ban",
|
|
|
|
"unban",
|
2017-11-15 07:35:15 +01:00
|
|
|
"banlist",
|
2017-04-24 12:40:53 +02:00
|
|
|
];
|
|
|
|
|
2017-11-22 07:39:32 +01:00
|
|
|
exports.input = function({irc}, chan, cmd, args) {
|
2017-04-24 12:40:53 +02:00
|
|
|
if (chan.type !== Chan.Type.CHANNEL) {
|
|
|
|
chan.pushMessage(this, new Msg({
|
|
|
|
type: Msg.Type.ERROR,
|
2017-11-15 07:35:15 +01:00
|
|
|
text: `${cmd} command can only be used in channels.`,
|
2017-04-24 12:40:53 +02:00
|
|
|
}));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (cmd !== "banlist" && args.length === 0) {
|
|
|
|
if (args.length === 0) {
|
|
|
|
chan.pushMessage(this, new Msg({
|
|
|
|
type: Msg.Type.ERROR,
|
2017-11-15 07:35:15 +01:00
|
|
|
text: `Usage: /${cmd} <nick>`,
|
2017-04-24 12:40:53 +02:00
|
|
|
}));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (cmd) {
|
|
|
|
case "ban":
|
2017-11-22 07:39:32 +01:00
|
|
|
irc.ban(chan.name, args[0]);
|
2017-04-24 12:40:53 +02:00
|
|
|
break;
|
|
|
|
case "unban":
|
2017-11-22 07:39:32 +01:00
|
|
|
irc.unban(chan.name, args[0]);
|
2017-04-24 12:40:53 +02:00
|
|
|
break;
|
|
|
|
case "banlist":
|
2017-11-22 07:39:32 +01:00
|
|
|
irc.banlist(chan.name);
|
2017-04-24 12:40:53 +02:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
};
|