|| cmd.equals("!halfop") || cmd.equals("!dehalfop"))){
parts = message.split("\\s", 4);
if(getNetwork().isInChannel(parts[2])) {
Channel chan = getNetwork().getChannel(parts[2]);
User usr = getNetwork().getUser(parts[3]);
String rest = ""; if(parts.length > 4)rest = parts[4];
if(cmd.equals("!kick")) {
chan.kick(usr, rest);
} else if(cmd.equals("!op")) {
chan.giveOp(usr);
} else if(cmd.equals("!deop")) {
chan.deOp(usr);
} else if(cmd.equals("!voice")) {
chan.giveVoice(usr);
} else if(cmd.equals("!devoice")) {
chan.deVoice(usr);
} else if(cmd.equals("!halfop")) {
chan.deHalfOp(usr);
} else if(cmd.equals("!dehalfop")) {
chan.giveHalfOp(usr);
}
}
// Help commands:
} else if(parts.length >= 2 && cmd.equals("!help")) {
if(parts.length > 2) {
user.sendPrivmsg(getHelp(parts[2]));
} else {
user.sendPrivmsg(getHelp());
}
// Single commands: (!listplugins, !channels, etc)
} else if(parts.length == 2) {
if(cmd.equals("!listplugins")) {
int number = 1;
for(String p: getNetwork().getPlugins().keySet()) {
user.sendPrivmsg("#" + (number++) + " - " + p);
}
} else if(cmd.equals("!channels")) {
user.sendPrivmsg("I am in " + getNetwork().getChannels().size() + " channels:");
for(Channel c: getNetwork().getChannels()) {
user.sendPrivmsg("* " + c.getName() + " (" + c.getTopic() + ")");
}
}
// Network commands:
} else if(parts.length > 2) {
if(cmd.equals("!join")) {
if(!getNetwork().isInChannel(parts[2])) {
user.sendPrivmsg("Jag mår bra när jag får vara i " + parts[2] + ".");
getNetwork().getConnection().join(parts[2]);
} else {
user.sendPrivmsg("Jag är redan i " + parts[2] + ".");
}
} else if(cmd.equals("!part")) {
if(getNetwork().isInChannel(parts[2])) {
user.sendPrivmsg("Tråkigt att du inte vill ha mig kvar i " + parts[2] +".");
getNetwork().getConnection().part(parts[2]);
} else {
user.sendPrivmsg("Jag är inte i " + parts[2] +".");
}
} else if(cmd.equals("!loadplugin")) {
if(getNetwork().loadPlugin(parts[2])) {
user.sendPrivmsg(parts[2] + " har laddats.");
} else {
user.sendPrivmsg(parts[2] + " kunde inte laddas");
}
} else if(cmd.equals("!unloadplugin")) {
if(getNetwork().unloadPlugin(parts[2])) {
user.sendPrivmsg(parts[2] +" har avaktiverats.");
} else {
user.sendPrivmsg(parts[2] + " kunde inte laddas");
}
} else if(cmd.equals("!users")) {
Channel chan = getNetwork().getChannel(parts[2]);
user.sendPrivmsg(chan.getName() + " har "
+ chan.getUsers().size() + " användare");
String usrlst = "";
for(Map.Entry<User, Modes> ue: chan.getUsers().entrySet()) {
usrlst += ue.getKey().getNickname() + "[" + ue.getValue().get() + "], ";
}
user.sendPrivmsg(usrlst);
}