package pl.shockah.shocky.cmds; import pl.shockah.shocky.Data; public class CmdBlacklist extends Command { public String command() {return "blacklist";} public String help(Parameters params) { StringBuilder sb = new StringBuilder(); sb.append("[r:controller] blacklist - list blacklisted nicks\n"); sb.append("[r:controller] blacklist add {nick} - adds a new entry\n"); sb.append("[r:controller] blacklist remove {nick} - removes an entry"); return sb.toString(); } public void doCommand(Parameters params, CommandCallback callback) { params.checkController(); callback.type = EType.Notice; if (params.tokenCount == 0) { StringBuilder sb = new StringBuilder(); for (String blacklisted : Data.blacklistNicks) { if (sb.length() != 0) sb.append(", "); sb.append(blacklisted); } callback.append(sb); return; } if (params.tokenCount == 2) { String method = params.nextParam().toLowerCase(); String target = params.nextParam().toLowerCase(); if (method.equals("add")) { if (Data.blacklistNicks.contains(target)) { callback.append(target).append(" is already in blacklist"); } else { Data.blacklistNicks.add(target); callback.append("Added"); } return; } else if (method.equals("remove")) { if (!Data.blacklistNicks.contains(target)) { callback.append(target).append(" isn't in blacklist"); } else { Data.blacklistNicks.remove(target); callback.append("Removed"); } return; } } callback.append(help(params)); } }