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 | |
parent | 18f37f9c1206de3c2ad66fa4da164d706b2f37e0 (diff) | |
download | Skyblocker-00a7f4e3a56255864c46a827091989a34a2a4058.tar.gz Skyblocker-00a7f4e3a56255864c46a827091989a34a2a4058.tar.bz2 Skyblocker-00a7f4e3a56255864c46a827091989a34a2a4058.zip |
Added simple spam filter
3 files changed, 16 insertions, 1 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,})"); } } diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index b716764b..14882563 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -23,5 +23,6 @@ "text.autoconfig.skyblocker.option.messages.hideHeal": "Hide Heal Messages", "text.autoconfig.skyblocker.option.messages.hideAOTE": "Hide AOTE Messages", "text.autoconfig.skyblocker.option.messages.hideImplosion": "Hide Implosion Message", - "text.autoconfig.skyblocker.option.messages.hideMoltenWave": "Hide Molten Wave Message" + "text.autoconfig.skyblocker.option.messages.hideMoltenWave": "Hide Molten Wave Message", + "text.autoconfig.skyblocker.option.messages.hideAds": "Hide Ads From Public Chat" }
\ No newline at end of file |