diff --git a/api/src/main/java/io/github/_4drian3d/chatregulator/api/checks/SpamCheck.java b/api/src/main/java/io/github/_4drian3d/chatregulator/api/checks/SpamCheck.java index 92a766a..96cfdf3 100644 --- a/api/src/main/java/io/github/_4drian3d/chatregulator/api/checks/SpamCheck.java +++ b/api/src/main/java/io/github/_4drian3d/chatregulator/api/checks/SpamCheck.java @@ -10,7 +10,9 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Range; +import java.text.Normalizer; import java.util.Iterator; +import java.util.Locale; import static java.util.Objects.requireNonNull; @@ -39,13 +41,13 @@ private SpamCheck(final @NotNull SourceType type, int similarLimit) { String previous = null; while(it.hasNext()) { actual = it.next(); - if (previous != null && !actual.equalsIgnoreCase(previous)) { + if (previous != null && !actual.equals(previous)) { return CheckResult.allowed(); } previous = actual; } - - if (chain.last().equalsIgnoreCase(string)) { + + if (chain.last().equals(Normalizer.normalize(string.toLowerCase(Locale.ROOT), Normalizer.Form.NFKD))) { return CheckResult.denied(type()); } else { return CheckResult.allowed(); diff --git a/plugin/src/main/java/io/github/_4drian3d/chatregulator/plugin/impl/StringChainImpl.java b/plugin/src/main/java/io/github/_4drian3d/chatregulator/plugin/impl/StringChainImpl.java index fd6f418..0bf18ae 100644 --- a/plugin/src/main/java/io/github/_4drian3d/chatregulator/plugin/impl/StringChainImpl.java +++ b/plugin/src/main/java/io/github/_4drian3d/chatregulator/plugin/impl/StringChainImpl.java @@ -6,9 +6,11 @@ import io.github._4drian3d.chatregulator.common.configuration.ConfigurationContainer; import org.jetbrains.annotations.NotNull; +import java.text.Normalizer; import java.time.Instant; import java.util.Iterator; import java.util.LinkedList; +import java.util.Locale; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -90,7 +92,7 @@ public void executed(final String string) { } private void addExecution(String string) { - queue.add(string); + queue.add(Normalizer.normalize(string.toLowerCase(Locale.ROOT), Normalizer.Form.NFKD)); lastExecuted.set(Instant.now()); } }