aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker
diff options
context:
space:
mode:
authorExternalTime <84183548+ExternalTime@users.noreply.github.com>2021-09-08 18:17:20 +0200
committerExternalTime <84183548+ExternalTime@users.noreply.github.com>2021-09-09 12:53:23 +0200
commit00a7f4e3a56255864c46a827091989a34a2a4058 (patch)
tree3acff7a278e5d5ac303348e98b469229a34ba986 /src/main/java/me/xmrvizzy/skyblocker
parent18f37f9c1206de3c2ad66fa4da164d706b2f37e0 (diff)
downloadSkyblocker-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.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java13
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,})");
}
}