From 00a7f4e3a56255864c46a827091989a34a2a4058 Mon Sep 17 00:00:00 2001 From: ExternalTime <84183548+ExternalTime@users.noreply.github.com> Date: Wed, 8 Sep 2021 18:17:20 +0200 Subject: Added simple spam filter --- .../me/xmrvizzy/skyblocker/config/SkyblockerConfig.java | 1 + .../java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java | 13 +++++++++++++ 2 files changed, 14 insertions(+) (limited to 'src/main/java/me/xmrvizzy/skyblocker') diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 0bda79d6..48fefa24 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -66,6 +66,7 @@ public class SkyblockerConfig implements ConfigData { public boolean hideAOTE = false; public boolean hideImplosion = false; public boolean hideMoltenWave = false; + public boolean hideAds = false; } public static void init() { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java index 3b80a9af..00f2dfb6 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java @@ -2,6 +2,7 @@ package me.xmrvizzy.skyblocker.skyblock; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -11,6 +12,8 @@ public class ChatFilter { private static final Pattern aote; private static final Pattern implosion; private static final Pattern moltenWave; + private static final Pattern playerMessage; + private static final Pattern adverts; public boolean shouldFilter(String message) { SkyblockerConfig.Messages settings = SkyblockerConfig.get().messages; @@ -28,6 +31,14 @@ public class ChatFilter { if (settings.hideMoltenWave && moltenWave.matcher(message).matches()) return true; + + if (settings.hideAds) { + Matcher m = playerMessage.matcher(message); + if(m.matches() && adverts.matcher(m.group(2)).find()) { + System.out.println(m.group(2)); + return true; + } + } return false; } @@ -38,5 +49,7 @@ public class ChatFilter { aote = Pattern.compile("^There are blocks in the way!$"); implosion = Pattern.compile("^Your Implosion hit " + number + " enem(?:y|ies) for " + number + " damage\\.$"); moltenWave = Pattern.compile("^Your Molten Wave hit " + number + " enemy(?:y|ies) for " + number + " damage\\.$"); + playerMessage = Pattern.compile("^§[67ab](?:\\[(?:MVP|VIP)(?:§[0-9a-f]\\+{1,2}§[6ab])?] )?([a-zA-Z0-9_]{2,16})§[7f]: (.*)$"); + adverts = Pattern.compile("(?i:^(?:i(?:m|'m| am)? |(?:is )?any(?: ?one|1) )?(?:buy|sell|lowball|trade?)(?:ing)?\\W|(?:\\W|^)(?:on|in|check|at) my ah(?:\\W|$)|(.)\\1{7,})"); } } -- cgit