package pl.shockah.shocky.cmds; import org.pircbotx.User; import pl.shockah.shocky.Data; import pl.shockah.shocky.Shocky; public class CmdController extends Command { public String command() {return "controller";} public String help(Parameters params) { StringBuilder sb = new StringBuilder(); sb.append("[r:controller] controller - list controllers of the bot\n"); sb.append("[r:controller] controller add {nick/login} - adds a new controller\n"); sb.append("[r:controller] controller remove {nick/login} - removes a controller"); 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 controller : Data.controllers) { if (sb.length() != 0) sb.append(", "); sb.append(controller); } callback.append(sb); return; } if (params.tokenCount == 2) { String method = params.nextParam().toLowerCase(); String username = params.nextParam(); User user = Shocky.getUser(username); if (!Data.controllers.contains(username) && user != null) { if (Shocky.getLogin(user) == null) { callback.append(username+" isn't identified"); return; } username = Shocky.getLogin(user); } if (method.equals("add")) { if (Data.controllers.contains(username)) { callback.append(username+" is already a controller"); } else { Data.controllers.add(username); callback.append("Added"); } return; } else if (method.equals("remove")) { if (!Data.controllers.contains(username)) { callback.append(username+" isn't a controller"); } else { Data.controllers.remove(username); callback.append("Removed"); } return; } } callback.append(help(params)); } }