Пример #1
0
 public void onMessage(MessageEvent event) throws Exception {
   String messageString = event.getMessage();
   String user = event.getUser().getNick();
   Date time = new Date();
   switch (messageString.toLowerCase()) {
     case "!derp":
       event.respond("says derp");
       log.writeLog(user + " sent the \"derp\" command on " + time);
       break;
     case "!time":
       event.getBot().sendNotice(event.getUser(), "Current bot server time is: " + time);
       log.writeLog(user + " sent the \"time\" command on " + time);
       break;
     case "!owner":
       event.getBot().sendNotice(event.getUser(), "The Owner of this bot is MonsterTKE");
       log.writeLog(user + " sent the \"time\" command on " + time);
       break;
     case "!help": // This is the simple no argument help command...
       event
           .getBot()
           .sendNotice(
               event.getUser(),
               "Commands are !help, !derp, !time, !owner, !password and !twitter");
       event.getBot().sendNotice(event.getUser(), "Get further help with !help (command)");
       log.writeLog(user + " sent the \"help\" command on " + time);
       break;
     case "!twitter":
       event.getBot().sendNotice(event.getUser(), "somethin somethin");
       log.writeLog(user + " sent the \"twitter\" command on " + time);
       break;
     default:
       // ToDO
       break;
   }
 }
Пример #2
0
 @Override
 public boolean execute(MessageEvent event) throws Exception {
   if (event.getUser() == null) {
     return false;
   }
   if (PermissionManager.hasExec(event.getUser().getNick())) {
     String[] args = event.getMessage().split(" ");
     if (args.length == 2 && args[1].length() == 1) {
       String oldtrigger = config.getTrigger();
       config.setTrigger(args[1]);
       if (config.useDatabase)
         Main.database
             .prepareStatement(
                 "UPDATE `Bot` SET `Bot_Trigger` = '"
                     + config.getTrigger()
                     + "' WHERE `Bot`.`Nick` = '"
                     + event.getBot().getUserBot().getNick()
                     + "';")
             .execute();
       MessageUtils.sendUserNotice(
           event, "Bot prefix was set to " + config.getTrigger() + " from " + oldtrigger);
       return true;
     } else {
       return false;
     }
   } else {
     event.respond("You need to be Exec to change prefix!");
   }
   return false;
 }
Пример #3
0
 @Override
 public void onCommand(MessageEvent evt, String... params) {
   String server = evt.getBot().getConfiguration().getServerHostname();
   if (params.length == 0) {
     String out = "";
     System.out.println(server);
     for (Command c : Command.commands) {
       boolean isUserAdmin = false;
       if (UserPermissions.isLevel(evt.getUser().getNick(), DataUser.ADMIN, server)) {
         isUserAdmin = true;
       }
       if ((c.adminCommand && isUserAdmin) || (!c.adminCommand)) {
         out += c.aliases[0] + ", ";
       }
     }
     out = out.substring(0, out.length() - 2) + ".";
     notice(evt, "Topics: " + out);
     sendUsage(evt);
     return;
   }
   if (params.length == 1) {
     String topic = params[0];
     for (Command c : Command.commands) {
       boolean isUserAdmin = false;
       if (UserPermissions.isLevel(evt.getUser().getNick(), DataUser.ADMIN, server)) {
         isUserAdmin = true;
       }
       if ((c.adminCommand && isUserAdmin) || (!c.adminCommand)) {
         if (topic.equalsIgnoreCase(c.aliases[0])) {
           notice(evt, topic + ": " + c.help());
         }
       }
     }
   }
 }
Пример #4
0
 @Override
 public boolean execute(MessageEvent event) {
   String[] args = event.getMessage().split(" ");
   Channel target = event.getBot().getUserChannelDao().getChannel(args[1]);
   if (target.isInviteOnly()) {
     event
         .getBot()
         .sendRaw()
         .rawLineNow(
             "KNOCK "
                 + target.getName()
                 + " :Asked to join this channel by user "
                 + event.getUser().getNick()
                 + " in channel "
                 + event.getChannel().getName());
   }
   event.getBot().sendIRC().joinChannel(target.getName());
   return true;
 }
Пример #5
0
 @Override
 public void onMessage(MessageEvent<Cardinal> event) throws Exception {
   CommandSender sender =
       new CommandSender(event.getChannel(), event.getUser(), event.getBot().getUserBot());
   String message = event.getMessage();
   if (Cardinal.logToFile) Cardinal.SYSO(message);
   if (message.startsWith(CMD_PREFIX)) {
     String args[] = message.substring(CMD_PREFIX.length()).split(" ");
     if (commands.containsKey(args[0])) {
       commands.get(args[0]).run(sender, shrinkArgs(args));
     }
   }
 }
Пример #6
0
  public void onMessage(MessageEvent<ShockyBot> event) {
    if (Data.isBlacklisted(event.getUser())) return;
    String msg = event.getMessage();
    if (!pattern.matcher(msg).find()) return;

    String chan = event.getChannel().getName();
    Long time = timers.get(chan);
    User s = started.get(chan);

    if (s != null && time != null && time < System.currentTimeMillis()) {
      started.remove(chan);
      timers.remove(chan);
      s = null;
    }

    if (s == null) {
      time = System.currentTimeMillis() + Data.forChannel(event.getChannel()).getInt("hf-maxtime");
      // event.respond(String.format("Will expired at %s",
      // DateFormat.getDateTimeInstance().format(new Date(time))));
      started.put(chan, event.getUser());
      timers.put(chan, time);
    } else {
      int stat = changeStat(s.getNick(), event.getUser().getNick(), 1);
      if (stat != 0) {
        if (event.getChannel().isOp(event.getBot().getUserBot())
            && stat >= Data.forChannel(event.getChannel()).getInt("hf-kickat")) {
          stat = changeStat(s.getNick(), event.getUser().getNick(), -stat);
          msg = s.getNick() + " o/ * \\o " + event.getUser().getNick() + " - have been kicked!";
          event.getBot().kick(event.getChannel(), s);
          event.getBot().kick(event.getChannel(), event.getUser());
          if (Data.forChannel(event.getChannel()).getBoolean("hf-announce"))
            Shocky.sendChannel(event.getBot(), event.getChannel(), msg);
          else {
            Shocky.sendNotice(event.getBot(), event.getUser(), msg);
            Shocky.sendNotice(event.getBot(), s, msg);
          }
        } else {
          msg =
              s.getNick()
                  + " o/ * \\o "
                  + event.getUser().getNick()
                  + " - "
                  + getOrderNumber(stat)
                  + " time";
          if (Data.forChannel(event.getChannel()).getBoolean("hf-announce"))
            Shocky.sendChannel(event.getBot(), event.getChannel(), msg);
          else {
            Shocky.sendNotice(event.getBot(), event.getUser(), msg);
            Shocky.sendNotice(event.getBot(), s, msg);
          }
        }

        started.remove(chan);
        timers.remove(chan);
      }
    }
  }
Пример #7
0
  /*
   * (non-Javadoc)
   *
   * @see
   * org.pircbotx.hooks.ListenerAdapter#onMessage(org.pircbotx.hooks.events
   * .MessageEvent)
   */
  @Override
  public void onMessage(MessageEvent<Bot> event) throws Exception {
    super.onMessage(event);

    String[] splitMessage = event.getMessage().split(" ");
    for (String s : splitMessage) {
      if (Util.hasLink(s)) {

        String title = Util.parseLink(s);

        if (title.equals("")) continue;

        passMessage(
            event.getBot(),
            event.getChannel(),
            event.getUser(),
            event.getUser().getNick() + "'s URL: " + title);
      }
    }
  }
Пример #8
0
  @Override
  public void onMessage(MessageEvent<PircBotX> event) throws Exception {
    if (Data.isBlacklisted(event.getUser())) return;
    IRollback module = (IRollback) Module.getModule("rollback");
    if (module == null) return;
    String s = event.getMessage().trim();
    if (!s.startsWith("s/") && !s.startsWith("m/")) return;
    String[] args = s.split("(?<!\\\\)/", -1);
    boolean replace = args[0].contentEquals("s");
    if (!replace && event.getChannel().getMode().contains("c")) return;

    int flagPos = 2;
    if (replace) flagPos = 3;

    if (args.length != flagPos + 1) return;
    if (args[1].isEmpty()) return;

    String[] params = args[flagPos].split(" ", -1);
    String user = null;

    int flags = 0;
    boolean single = true;
    if (params.length > 0) {
      for (char c : params[0].toCharArray()) {
        switch (c) {
          case 'd':
            flags |= Pattern.UNIX_LINES;
            break;
          case 'g':
            single = false;
            break;
          case 'i':
            flags |= Pattern.CASE_INSENSITIVE;
            break;
          case 'm':
            flags |= Pattern.MULTILINE;
            break;
          case 's':
            flags |= Pattern.DOTALL;
            break;
          case 'u':
            flags |= Pattern.UNICODE_CASE;
            break;
          case 'x':
            flags |= Pattern.COMMENTS;
            break;
        }
      }

      if (params.length > 1) user = params[1];
    }
    Matcher matcher;
    try {
      Pattern pattern = Pattern.compile(args[1], flags);
      matcher = pattern.matcher("");
    } catch (PatternSyntaxException e) {
      Shocky.sendChannel(
          event.getBot(), event.getChannel(), StringTools.deleteWhitespace(e.getMessage()));
      return;
    }
    ArrayList<LineWithUsers> lines =
        module.getRollbackLines(
            LineWithUsers.class, event.getChannel().getName(), user, null, s, true, 10, 0);

    final ExecutorService service = Executors.newFixedThreadPool(1);
    try {
      Future<String> run =
          service.submit(new Run(lines, matcher, single, replace ? args[2] : null));
      String output = run.get(5, TimeUnit.SECONDS);
      if (output != null) Shocky.sendChannel(event.getBot(), event.getChannel(), output);
    } catch (TimeoutException e) {
    } finally {
      service.shutdown();
    }
  }