package modules;
import java.util.ArrayList;
import bot.Config;
import bot.Message;
import bot.Module;
import bot.Server;
import extras.MakeCowSay;
public class Cowsay implements Module {
private boolean on = false;
public Cowsay() {
if(Config.get("cowsay") == null){
Config.set("cowsay","off");
}
else if(Config.get("cowsay").equals("on")){
on = true;
}
}
@Override
public void parse(Message m) {
String target = m.param();
if(!m.param().startsWith("#")) target = m.sender();
if(m.senderIsAdmin()){
if(m.botCommand().equals("cowsayon")){
Server.say(target, "Cowsay is now on");
Config.set("cowsay","on");
on = true;
}
if(m.botCommand().equals("cowsayoff")){
Server.say(target, "Cowsay is now off");
Config.set("cowsay","off");
on = false;
}
}
if(m.botCommand().equals("cowsay") && (on || m.senderIsAdmin())){
if(m.hasBotParams()){
try{
Server.say(target, MakeCowSay.cowsay(m.botParams()));
}
catch(IllegalArgumentException e){
Server.say(target, "u cant even in2 cowsay");
}
}
}
}
private String[] splitMessage(String message){
if(message.length() > 200){
String[] toreturn = new String[1];
toreturn[0] = "U cant even in2 cowsay";
return toreturn;
}
ArrayList<String> messages = new ArrayList<String>();
int chars = 0;
String messageToAdd = "";
String[] messageSplit = message.split("\\s+");
for(int i = 0; i < messageSplit.length; i++){
chars += messageSplit[i].length() + 1;
if(chars > 40){
if(messageToAdd.equals("")){
String[] toreturn = new String[1];
toreturn[0] = "U cant even in2 cowsay";
return toreturn;
}
messages.add(messageToAdd);
messageToAdd = "";
i--;
chars = 0;
}
else messageToAdd += messageSplit[i] + " ";
}
messages.add(messageToAdd);
if(messages.size() == 1){
messages.add(" ");
}
return messages.toArray(new String[0]);
}
}