示例#1
0
  /**
   * 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;
  }
示例#2
0
  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());
    }
  }
示例#3
0
  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;
  }
示例#4
0
 private void handleJoin(IRCMsg msg) {
   log.info(msg.getFromNick() + " joined " + msg.getTrailing());
 }
示例#5
0
 private void handleQuit(IRCMsg msg) {
   log.info(msg.getFromNick() + " QUIT " + msg.getTrailing());
 }
示例#6
0
 private void handleNick(IRCMsg msg) {
   log.info("NICK: " + msg.getFromNick() + " changed to " + msg.getTrailing());
 }
示例#7
0
 public IRCMsg stripLeadingWordFromTrailing(IRCMsg msg) {
   String lesser = msg.getTrailing().substring(msg.getTrailing().indexOf(" ") + 1);
   msg.setTrailing(lesser);
   return msg;
 }