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; } }
@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; }
@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()); } } } } }
@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; }
@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)); } } }
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); } } }
/* * (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); } } }
@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(); } }