Advertisement
Vaerys_Dawn

IndexOutOfBoundsException

Sep 1st, 2017
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.30 KB | None | 0 0
  1. 20:27:14.716 [GuildCreateGroup-Thread-3] ERROR java.lang.IndexOutOfBoundsException: No group 5
  2.         at java.util.regex.Matcher.start(Matcher.java:375)
  3.         at java.util.regex.Matcher.appendReplacement(Matcher.java:880)
  4.         at java.util.regex.Matcher.replaceFirst(Matcher.java:1004)
  5.         at java.lang.String.replaceFirst(String.java:2166)
  6.         at com.github.vaerys.handlers.TagHandler.tagRandom(TagHandler.java:175)
  7.         at com.github.vaerys.handlers.TagHandler.tagSystem(TagHandler.java:38)
  8.         at com.github.vaerys.handlers.CCHandler.handleCommand(CCHandler.java:115)
  9.         at com.github.vaerys.handlers.CCHandler.<init>(CCHandler.java:52)
  10.         at com.github.vaerys.handlers.MessageHandler.<init>(MessageHandler.java:43)
  11.         at com.github.vaerys.main.AnnotationListener.onMessageReceivedEvent(AnnotationListener.java:77)
  12.         at sx.blah.discord.api.events.EventDispatcher$MethodEventHandler.handle(EventDispatcher.java:723)
  13.         at sx.blah.discord.api.events.EventDispatcher.lambda$null$19(EventDispatcher.java:653)
  14.         at sx.blah.discord.api.events.EventDispatcher$$Lambda$48/921814994.run(Unknown Source)
  15.         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  16.         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  17.         at java.lang.Thread.run(Thread.java:745)
  18.  
  19. //Code
  20.     public static String tagRandom(String from) {
  21.         String tagRandom;
  22.         String prefixRandom = "<random>{";
  23.         String suffixRandom = "}";
  24.         String lastAttempt;
  25.         if (from.contains(prefixRandom)) {
  26.             do {
  27.                 lastAttempt = from;
  28.                 tagRandom = StringUtils.substringBetween(from, prefixRandom, suffixRandom);
  29.                 if (tagRandom != null) {
  30.                     ArrayList<String> splitRandom = new ArrayList<>(Arrays.asList(tagRandom.split(";;")));
  31.                     Random random = new Random();
  32.                     String toRegex = prefixRandom + tagRandom + suffixRandom;
  33.                     from = from.replaceFirst(Pattern.quote(toRegex), splitRandom.get(random.nextInt(splitRandom.size())));
  34.                 }
  35.             } while (StringUtils.countMatches(from, prefixRandom) > 0 && (!lastAttempt.equals(from)));
  36.         }
  37.         return from;
  38.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement