diff options
author | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-09-08 18:17:20 +0200 |
---|---|---|
committer | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-09-09 12:53:23 +0200 |
commit | 00a7f4e3a56255864c46a827091989a34a2a4058 (patch) | |
tree | 3acff7a278e5d5ac303348e98b469229a34ba986 /src/main/java/me/xmrvizzy/skyblocker | |
parent | 18f37f9c1206de3c2ad66fa4da164d706b2f37e0 (diff) | |
download | Skyblocker-00a7f4e3a56255864c46a827091989a34a2a4058.tar.gz Skyblocker-00a7f4e3a56255864c46a827091989a34a2a4058.tar.bz2 Skyblocker-00a7f4e3a56255864c46a827091989a34a2a4058.zip |
Added simple spam filter
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java | 1 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java | 13 |
2 files changed, 14 insertions, 0 deletions
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,})"); } } |