package pl.shockah.shocky.cmds;
import org.pircbotx.Channel;
import pl.shockah.shocky.MultiChannel;
public class CmdPart extends Command {
public String command() {return "part";}
public String help(Parameters params) {
StringBuilder sb = new StringBuilder();
if (params.type == EType.Channel)
sb.append("[r:op|controller] part - makes the bot part current channel\n");
sb.append("[r:op|controller] part {channel} - makes the bot part channel\n");
if (params.isController())
sb.append("[r:controller] part all - makes the bot part all channels");
return sb.toString();
}
public void doCommand(Parameters params, CommandCallback callback) {
callback.type = EType.Notice;
if (params.tokenCount == 0) {
if (params.type == EType.Channel) {
params.checkAny();
try {
MultiChannel.part(params.channel.getName());
} catch (Exception e) {e.printStackTrace();}
return;
}
} else if (params.tokenCount >= 1) {
params.checkController();
String channel = params.nextParam();
if (channel.equalsIgnoreCase("all")) {
try {
MultiChannel.part(new String[0]);
} catch (Exception e) {e.printStackTrace();}
return;
} else {
Channel c = MultiChannel.get(channel);
if (c == null) {
callback.append("Not in channel ").append(channel);
return;
}
try {
MultiChannel.part(channel);
} catch (Exception e) {e.printStackTrace();}
return;
}
}
callback.append(help(params));
}
}