package hudson.plugins.im.bot;
import hudson.plugins.im.Sender;
import hudson.plugins.im.tools.MessageHelper;
import java.util.Random;
import org.apache.commons.lang.StringUtils;
/**
* Give the bot a snack!
* (this is really more to familiarize myself with working with Hudson/jabber
* @author R. Tyler Ballance <tyler@slide.com>
*/
public class SnackCommand extends AbstractTextSendingCommand {
private static final String HELP = " [<snack>] - om nom nom";
private static final String[] THANKS = new String[] {
"thanks a lot! om nom nom.",
"you're so kind to me!",
"yummy!",
"great! yum yum." };
private static final String[] THANKS_WITH_FOOD = new String[] {
"I really like that %s",
"how did you know that %s is my favorite food?",
"I just love %s!",
"I could eat %s all day long" };
private final Random ran = new Random();
@Override
protected String getReply(Sender sender, String[] args) {
String snack = null;
if (args.length > 1) {
snack = StringUtils.join(MessageHelper.copyOfRange(args, 1, args.length), " ");
}
StringBuilder msg = new StringBuilder(sender.getNickname()).append(": ");
int index = ran.nextInt(THANKS.length);
msg.append(THANKS[index]);
if (snack != null) {
msg.append(" ");
index = ran.nextInt(THANKS_WITH_FOOD.length);
msg.append(String.format(THANKS_WITH_FOOD[index], snack));
}
return msg.toString();
}
public String getHelp() {
return HELP;
}
}