From a117e540978ce639daedc1006aa1ab9f96c01c48 Mon Sep 17 00:00:00 2001 From: Nxllpointer Date: Mon, 24 Oct 2022 23:03:07 +0200 Subject: [PATCH 1/2] Fixed anti-cheat not counting visible characters instead of invisible ones --- .../tjbot/commands/tophelper/TopHelpersMessageListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/tophelper/TopHelpersMessageListener.java b/application/src/main/java/org/togetherjava/tjbot/commands/tophelper/TopHelpersMessageListener.java index 52815bbdb6..d7823ab62c 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/tophelper/TopHelpersMessageListener.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/tophelper/TopHelpersMessageListener.java @@ -24,7 +24,7 @@ public final class TopHelpersMessageListener extends MessageReceiverAdapter { * @see Unicode * Categories */ - private static final String UNCOUNTED_CHARS = "\\P{C}"; + private static final String UNCOUNTED_CHARS = "\\p{C}"; private final Database database; From c2ec54741c70f548195a80c45931ba4c1503d1d4 Mon Sep 17 00:00:00 2001 From: Nxllpointer Date: Mon, 24 Oct 2022 23:06:46 +0200 Subject: [PATCH 2/2] Sped up uncounted char matching Sped up uncounted char matching by compiling the pattern once and using the pattern to replace chars instead of passing the RegEx string to String#replaceAll which would compile the pattern every time --- .../tjbot/commands/tophelper/TopHelpersMessageListener.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/tophelper/TopHelpersMessageListener.java b/application/src/main/java/org/togetherjava/tjbot/commands/tophelper/TopHelpersMessageListener.java index d7823ab62c..f7b7611fc4 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/tophelper/TopHelpersMessageListener.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/tophelper/TopHelpersMessageListener.java @@ -24,7 +24,7 @@ public final class TopHelpersMessageListener extends MessageReceiverAdapter { * @see Unicode * Categories */ - private static final String UNCOUNTED_CHARS = "\\p{C}"; + private static final Pattern UNCOUNTED_CHARS = Pattern.compile("\\p{C}"); private final Database database; @@ -74,7 +74,7 @@ private boolean isHelpThread(MessageReceivedEvent event) { private void addMessageRecord(MessageReceivedEvent event) { String messageContent = event.getMessage().getContentRaw(); - long messageLength = messageContent.replaceAll(UNCOUNTED_CHARS, "").length(); + long messageLength = UNCOUNTED_CHARS.matcher(messageContent).replaceAll("").length(); database.write(context -> context.newRecord(HELP_CHANNEL_MESSAGES) .setMessageId(event.getMessage().getIdLong())