/** * Valid bot commands for nick Botnick are... 1. !Botnick cmd 2. !botnick cmd * * <p>Not yet implemented 1. !cmd 2. !B cmd 3. !b cmd * * @param msg * @return */ public boolean msgIsCommand(IRCMsg msg) { if (null == msg.getTrailing()) { return false; } String tmpTrailing = msg.getTrailing().toLowerCase(); if (tmpTrailing.startsWith("!" + botnick.charAt(0))) { return true; } else if (tmpTrailing.startsWith("!" + botnick)) { return true; } return false; }
public void handleNotice(IRCMsg msg) { if (msg.getTrailing().contains("This nickname is registered and protected.")) { // outboundMsgQ.add( ircCommands.nickservIdentify() ); } else if (msg.getTrailing().contains("Password accepted -- you are now recognized.")) { outboundMsgQ.add(ircCommands.joinHomeChannel()); } else if (msg.getTrailing() .contains("Inviting " + botnick + " to channel " + startchan + ".")) { log.info("Single-vector join"); outboundMsgQ.add(ircCommands.joinHomeChannel()); } else if (msg.getTrailing().contains("Inviting") && msg.getTrailing().contains("to channel") && msg.getTrailing().contains(startchan)) { log.info("Multi-vector join"); outboundMsgQ.add(ircCommands.joinHomeChannel()); } }
public IRCMsg interpretMsg(IRCMsg msg) { if (msg.getCommand().equals("PRIVMSG")) { handlePrivMsg(msg); } else if (msg.getCommand().equals("JOIN")) { handleJoin(msg); } else if (msg.getCommand().equals("MODE")) { handleMode(msg); } else if (msg.getCommand().equals("QUIT")) { handleQuit(msg); } else if (msg.getCommand().equals("NOTICE")) { handleNotice(msg); } else if (msg.getCommand().equals("NICK")) { handleNick(msg); } else if (msg.getCommand().equals("INVITE")) { handleInvite(msg); } else if (msg.getCommand().equals("473")) { handleErrorInviteOnly(msg); } else if (serverResponseCodesToIgnore.contains(msg.getCommand())) { // Don't do anything on purpose } else { log.info("\nATTENTION MINION!!\nUnhandled command: " + msg.getCommand()); log.info("Prefix: " + msg.getPrefix()); log.info("Command: " + msg.getCommand()); log.info("Args[0]: " + msg.getArgs()[0]); log.info("Trailing: " + msg.getTrailing()); } return msg; }
private void handleJoin(IRCMsg msg) { log.info(msg.getFromNick() + " joined " + msg.getTrailing()); }
private void handleQuit(IRCMsg msg) { log.info(msg.getFromNick() + " QUIT " + msg.getTrailing()); }
private void handleNick(IRCMsg msg) { log.info("NICK: " + msg.getFromNick() + " changed to " + msg.getTrailing()); }
public IRCMsg stripLeadingWordFromTrailing(IRCMsg msg) { String lesser = msg.getTrailing().substring(msg.getTrailing().indexOf(" ") + 1); msg.setTrailing(lesser); return msg; }