chatfilter: Add option to filter game chat

This commit is contained in:
Sean Patiag
2020-09-14 20:33:08 -07:00
committed by Adam
parent d9876976d6
commit 9499c365ea
2 changed files with 24 additions and 1 deletions

View File

@@ -121,6 +121,17 @@ public interface ChatFilterConfig extends Config
return false; return false;
} }
@ConfigItem(
keyName = "filterGameChat",
name = "Filter Game Chat",
description = "Filter your game chat messages",
position = 8
)
default boolean filterGameChat()
{
return false;
}
@ConfigItem( @ConfigItem(
keyName = "collapseGameChat", keyName = "collapseGameChat",
name = "Collapse Game Chat", name = "Collapse Game Chat",

View File

@@ -179,6 +179,18 @@ public class ChatFilterPlugin extends Plugin
blockMessage = message == null; blockMessage = message == null;
} }
break; break;
case GAMEMESSAGE:
case ENGINE:
case ITEM_EXAMINE:
case NPC_EXAMINE:
case OBJECT_EXAMINE:
case SPAM:
if (config.filterGameChat())
{
message = censorMessage(null, message);
blockMessage = message == null;
}
break;
case LOGINLOGOUTNOTIFICATION: case LOGINLOGOUTNOTIFICATION:
if (config.filterLogin()) if (config.filterLogin())
{ {
@@ -269,7 +281,7 @@ public class ChatFilterPlugin extends Plugin
{ {
String strippedMessage = jagexPrintableCharMatcher.retainFrom(message) String strippedMessage = jagexPrintableCharMatcher.retainFrom(message)
.replace('\u00A0', ' '); .replace('\u00A0', ' ');
if (shouldFilterByName(username)) if (username != null && shouldFilterByName(username))
{ {
switch (config.filterType()) switch (config.filterType())
{ {