package org.royaldev.royalbot.commands.impl;
import org.pircbotx.Colors;
import org.pircbotx.hooks.types.GenericMessageEvent;
import org.royaldev.royalbot.RoyalBot;
import org.royaldev.royalbot.commands.CallInfo;
import org.royaldev.royalbot.commands.IRCCommand;
import java.util.List;
public class IgnoreCommand implements IRCCommand {
private final RoyalBot rb = RoyalBot.getInstance();
@Override
public void onCommand(GenericMessageEvent event, CallInfo callInfo, String[] args) {
if (args.length < 1) {
event.respond("Not enough arguments.");
return;
}
String hostmask = args[0];
final List<String> ignores = rb.getConfig().getIgnores();
if (hostmask.equalsIgnoreCase("list")) {
event.respond(Colors.BOLD + "Ignored hostmasks:");
for (String ignore : ignores) event.respond(" " + ignore);
return;
}
if (ignores.contains(hostmask)) {
ignores.remove(hostmask);
event.respond("Unignored " + hostmask + ".");
} else {
ignores.add(hostmask);
event.respond("Ignored " + hostmask + ".");
}
rb.getConfig().setIgnores(ignores);
}
@Override
public String getName() {
return "ignore";
}
@Override
public String getUsage() {
return "<command> [hostmask]";
}
@Override
public String getDescription() {
return "Toggles bot ignores (regex)";
}
@Override
public String[] getAliases() {
return new String[]{"unignore"};
}
@Override
public CommandType getCommandType() {
return CommandType.PRIVATE;
}
@Override
public AuthLevel getAuthLevel() {
return AuthLevel.ADMIN;
}
}