Examples of BNLogin


Examples of net.bnubot.db.BNLogin

    startLockdown(source);
    source.sendChat("/f m Flood detected from " + user.getFullLogonName());

    // Shitlist the user
    try {
      BNLogin bnlUser = BNLogin.get(user);
      if((bnlUser != null) && (bnlUser.getAccount() == null)) {
        // The user has no account; shitlist him!
        Account account = Account.create(user.getFullAccountName(), Rank.getMin(), null);
        bnlUser.setAccount(account);
        bnlUser.updateRow();
      }
    } catch(Exception e) {
      Out.exception(e);
    }
  }
View Full Code Here

Examples of net.bnubot.db.BNLogin

    Account a = Account.get(account);
    if(a == null)
      a = Account.create(account, Rank.getMax(), null);
    a.updateRow();
    for(String l : logins) {
      BNLogin bnl = BNLogin.getCreate(new BNetUser(l));
      bnl.setAccount(a);
      bnl.updateRow();
    }
  }
View Full Code Here

Examples of net.bnubot.db.BNLogin

    if(commanderAccount == null)
      throw new CommandFailedWithDetailsException("You must have an account to use recruit.");

    BNetUser bnSubject = source.getCreateBNetUser(params[0], user);
    BNLogin rsSubject = BNLogin.get(bnSubject);
    if(rsSubject == null)
      throw new NeverSeenUserException(bnSubject);

    if(rsSubject.getAccount() != null)
      throw new CommandFailedWithDetailsException("That user already has an account!");

    String requiredTagPrefix = GlobalSettings.recruitTagPrefix;
    String requiredTagSuffix = GlobalSettings.recruitTagSuffix;
View Full Code Here

Examples of net.bnubot.db.BNLogin

    initializeCommands();
  }

  protected BNLogin touchUser(Connection source, BNetUser user, String action) {
    try {
      BNLogin rsUser = BNLogin.getCreate(user);
      if(rsUser != null) {
        rsUser.setLastSeen(new Date(System.currentTimeMillis()));
        if(action != null)
          rsUser.setLastAction(action);
        rsUser.updateRow();
        return rsUser;
      }
    } catch(Exception e) {
      Out.exception(e);
    }
View Full Code Here

Examples of net.bnubot.db.BNLogin

    subjectAccount = Account.get(bnSubject);
    if(subjectAccount != null)
      return subjectAccount;

    // The account does not exist
    BNLogin subject = BNLogin.get(bnSubject);
    if(subject == null)
      throw new NeverSeenUserException(bnSubject);

    return createAccount(accountName, createAccess, commanderAccount, subject);
  }
View Full Code Here

Examples of net.bnubot.db.BNLogin

          source.sendChat("/ban " + user.getFullLogonName() + " TimeBan: " + TimeFormatter.formatTime(tb.getTimeLeft(), false) + " left");
          return;
        }
    }

    BNLogin rsUser = touchUser(source, user, "joining the channel");

    if(rsUser == null)
      return;
    if(!source.getConnectionSettings().enableGreetings)
      return;

    try {
      // Fix the case of the user's login if it has changed
      rsUser.setLogin(user.getFullAccountName());

      switch(user.getStatString().getProduct()) {
      case STAR: {
        Integer newWins = user.getStatString().getWins();
        if(newWins != null) {
          Integer oldWins = rsUser.getWinsSTAR();
          if((oldWins == null) || (newWins > oldWins)) {
            rsUser.setWinsSTAR(newWins);
          }
        }
        break;
      }

      case SEXP: {
        Integer newWins = user.getStatString().getWins();
        if(newWins != null) {
          Integer oldWins = rsUser.getWinsSEXP();
          if((oldWins == null) || (newWins > oldWins)) {
            rsUser.setWinsSEXP(newWins);
          }
        }
        break;
      }

      case W2BN: {
        Integer newWins = user.getStatString().getWins();
        if(newWins != null) {
          Integer oldWins = rsUser.getWinsW2BN();
          if((oldWins == null) || (newWins > oldWins)) {
            rsUser.setWinsW2BN(newWins);
          }
        }
        break;
      }

      case D2DV:
      case D2XP: {
        Integer newLevel = user.getStatString().getCharLevel();
        if(newLevel != null) {
          Integer oldLevel = rsUser.getLevelD2();
          if((oldLevel == null) || (newLevel > oldLevel)) {
            rsUser.setLevelD2(newLevel);
          }
        }
        break;
      }

      case WAR3:
      case W3XP: {
        Integer newLevel = user.getStatString().getLevel();
        if(newLevel != null) {
          Integer oldLevel = rsUser.getLevelW3();
          if((oldLevel == null) || (newLevel > oldLevel)) {
            rsUser.setLevelW3(newLevel);
          }
        }
        break;
      }
      }
      try {
        rsUser.updateRow();
      } catch(Exception e) {
        Out.exception(e);
      }

      Account rsAccount = Account.get(user);
      Rank rsRank = (rsAccount == null) ? Rank.get(0) : rsAccount.getRank();

      if(rsRank != null) {
        // Autopromotions
        Integer apDays = rsRank.getApDays();
        // Check that they meet the days requirement
        apBlock: if((apDays != null) && (apDays != 0)) {
          double timeElapsed = 0;
          if(rsAccount == null) {
            timeElapsed = rsUser.getCreated().getTime();
          } else if(rsAccount.getLastRankChange() != null) {
            timeElapsed = rsAccount.getLastRankChange().getTime();
          }

          timeElapsed = System.currentTimeMillis() - timeElapsed;
          timeElapsed /= 1000 * 60 * 60 * 24;
          if(timeElapsed < apDays)
            break apBlock;

          if((rsRank.getApWins() == null)
          || (rsRank.getApD2Level() == null)
          || (rsRank.getApW3Level() == null))
            break apBlock;
          int apWins = rsRank.getApWins().intValue();
          int apD2Level = rsRank.getApD2Level().intValue();
          int apW3Level = rsRank.getApW3Level().intValue();
          long wins[];
          if(rsAccount == null)
            wins = new long[] {0, 0, 0};
          else
            wins = rsAccount.getWinsLevels(GlobalSettings.recruitTagPrefix, GlobalSettings.recruitTagSuffix);

          boolean hasEnoughWins = false;
          hasEnoughWins |= ((apWins > 0) && (wins[0] >= apWins));
          hasEnoughWins |= ((apD2Level > 0) && (wins[1] >= apD2Level));
          hasEnoughWins |= ((apW3Level > 0) && (wins[2] >= apW3Level));
          hasEnoughWins |= ((apWins == 0) && (apD2Level == 0) && (apW3Level == 0));

          if(hasEnoughWins) {
            // Check RS
            long rs = 0;
            if(rsAccount != null)
              rs = rsAccount.getRecruitScore(GlobalSettings.recruitAccess);
            Integer apRS = rsRank.getApRecruitScore();
            if((apRS == null) || (apRS == 0) || (rs >= apRS)) {
              int rank = 0;
              if(rsAccount != null)
                rank = rsAccount.getAccess();
              else {
                String name = user.getFullAccountName();
                name = name.substring(0, name.indexOf('@'));
                try {
                  Account recoverAccount = Account.get(name);
                  if((recoverAccount != null)
                  && (recoverAccount.getAccess() <= 1)
                  && (recoverAccount.getBnLogins().size() == 0)) {
                    rsAccount = recoverAccount;
                    // Reset the account to rank zero, just in case
                    rsAccount.setRank(Rank.get(0));
                    rsUser.setAccount(rsAccount);
                    rsUser.updateRow();
                  } else {
                    rsAccount = createAccount(name, 0, null, rsUser);
                  }
                } catch(Exception e) {
                  Out.exception(e);
View Full Code Here

Examples of net.bnubot.db.BNLogin

      Account rsSubjectAccount = Account.get(params[0]);
      if(rsSubjectAccount == null) {
        BNetUser bnSubject = source.getCreateBNetUser(params[0], user);

        BNLogin rsSubject = BNLogin.get(bnSubject);
        if(rsSubject == null)
          throw new NeverSeenUserException(bnSubject);

        rsSubjectAccount = rsSubject.getAccount();
        if(rsSubjectAccount == null)
          throw new CommandFailedWithDetailsException("User [" + rsSubject.getLogin() + "] has no account");
      }

      List<String> clauses = new LinkedList<String>();

      // Access
      Rank rsSubjectRank = rsSubjectAccount.getRank();
      if(rsSubjectRank != null) {
        String prefix = rsSubjectRank.getShortPrefix();
        String prefix2 = rsSubjectRank.getPrefix();
        if(prefix == null)
          prefix = prefix2;

        if(prefix == null)
          prefix = "";
        else
          prefix += " ";

        String result = prefix + rsSubjectAccount.getName();
        if(rsSubjectRank.getVerbstr() != null)
          result += " " + rsSubjectRank.getVerbstr();
        else {
          switch(prefix.charAt(0)) {
          case 'a': case 'e': case 'i': case 'o': case 'u':
          case 'A': case 'E': case 'I': case 'O': case 'U':
            result += " is an ";
            break;
          default:
            result += " is a ";
            break;
          }
          result += prefix2;
        }
        result += " (" + rsSubjectAccount.getAccess() + ")";

        clauses.add(result);
      } else {
        clauses.add(rsSubjectAccount.getName() + " has access " + rsSubjectAccount.getAccess());
      }

      // Birthday
      Date subjectBirthday = rsSubjectAccount.getBirthday();
      if(subjectBirthday != null) {
        double age = System.currentTimeMillis() - subjectBirthday.getTime();
        age /= 1000 * 60 * 60 * 24 * 365.24;
        age = Math.floor(age * 100) / 100;
        clauses.add("is " + Double.toString(age) + " years old");
      }

      // Last seen
      Date lastSeen = null;
      for(BNLogin rsSubject : rsSubjectAccount.getBnLogins()) {
        if(lastSeen == null)
          lastSeen = rsSubject.getLastSeen();
        else {
          Date nt = rsSubject.getLastSeen();
          if((nt != null) && (nt.compareTo(lastSeen) > 0))
            lastSeen = nt;
        }
      }

View Full Code Here

Examples of net.bnubot.db.BNLogin

      user.sendChat("Use: %trigger%setaccount <user>[@<realm>] [<account>]", whisperBack);
      return;
    }

    BNetUser bnSubject = source.getCreateBNetUser(params[0], user);
    BNLogin rsSubject = BNLogin.get(bnSubject);
    if(rsSubject == null)
      throw new NeverSeenUserException(bnSubject);

    Account newAccount = null;
    if(params.length == 2) {
      newAccount = Account.get(params[1]);
      if(newAccount == null)
        throw new AccountDoesNotExistException(params[1]);
    }

    rsSubject.setAccount(newAccount);
    rsSubject.updateRow();

    // Set params[1] to what the account looks like in the database
    if(newAccount == null)
      params = new String[] { params[0], "NULL" };
    else
      params[1] = newAccount.getName();

    bnSubject.resetPrettyName();
    user.sendChat("User [" + rsSubject.getLogin() + "] was added to account [" + params[1] + "] successfully.", whisperBack);
  }
View Full Code Here

Examples of net.bnubot.db.BNLogin

      user.sendChat("Use: %trigger%seen <account>", whisperBack);
      return;
    }

    Account rsSubjectAccount = Account.get(params[0]);
    BNLogin rsSubject = null;
    if(rsSubjectAccount == null) {
      //They don't have an account by that name, check if it's a user
      BNetUser bnSubject = source.getCreateBNetUser(params[0], user);
      rsSubject = BNLogin.get(bnSubject);
      if(rsSubject == null)
        throw new NeverSeenUserException(bnSubject);
    } else {
      for(BNLogin login : rsSubjectAccount.getBnLogins()) {
        Date nt = login.getLastSeen();
        if((rsSubject == null)
        || ((nt != null) && (nt.compareTo(rsSubject.getLastSeen()) > 0)))
          rsSubject = login;
      }
      if(rsSubject == null)
        throw new NeverSeenUserException(rsSubjectAccount);
    }

    Date mostRecent = rsSubject.getLastSeen();
    String mostRecentAction = rsSubject.getLastAction();
    params[0] = new BNetUser(rsSubject.getLogin()).getShortLogonName(user);

    if(mostRecent == null)
      throw new NeverSeenUserException(params[0]);

    String diff = TimeFormatter.formatTime(System.currentTimeMillis() - mostRecent.getTime());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.