Word & Phrase Filter

About this module

The Intelligent Word & Phrase Filter module hyper intelligently detects swears configured blocked words or phrases (and words/phrases similar to those on the list) from being said in chat, commands, signs, anvils, and books (additional check contexts can be disabled).
To bypass this module, op or the permission: "chatsentry.wordandphrasefilter.bypass" is required.
Ifprocess-commandsis true in config.yml, this module will filter through all commands (of players without bypass permission or op)
Ifprocess-signs is true in config.yml, this module will filter through text written on signs (of players without bypass permission or op)
Ifprocess-anvils is true in config.yml, this module will filter through items renamed in anvils (of players without bypass permission or op)
Ifprocess-books is true in config.yml, this module will filter through writing in books (of players without bypass permission or op)

Config guide

You can access the below settings in the word-and-phrase-filter.yml file within the modules folder of the plugin's root folder.
Config excerpts taken from v4.4.0 and may not be completely up-to-date with the latest changes. To see the most up-to-date file, see below:

block-similarity-threshold

To block variants and attempts to bypass the filter, the module will check for similar words & phrases that are on the block list in players messages and commands.
The value below is how similar other words/phrases must be to a word/phrase on the blacklist to be considered an attempt to exploit / bypass the filter.
1.0 = exactly as one of the phrases on the list (excluding character case) 0.0 = not exact (this eliminates the purpose of the similarity checker)
1
block-similarity-threshold: 0.84
Copied!

substitution-intelligence

When enabled, the filter will, based off the below charset process lookalike numbers and symbols as letters to detect players substituting letters with numbers numbers to bypass the filter. Ex. @ = A, # = H, 1 = I, 3 = E, etc.
1
substitution-intelligence: true
Copied!

substitution-intelligence-charset

Below is the substitutions the plugin will process. Please note that adding excessive amounts of substitutions will raise false positive rates.
For the best results, it's recommended to try and keep this list pretty short and under ~12 substitutions
1
substitution-intelligence-charset:
2
- "1 (->) i"
3
- "2 (->) R"
4
- "3 (->) E"
5
- "4 (->) A"
6
- "@ (->) A"
7
- "< (->) C"
8
- "# (->) H"
9
- "$ (->) S"
10
- "+ (->) T"
Copied!

ignore-usernames: true

Should detections found in players usernames be ignored?
1
ignore-usernames: true
Copied!

ignore-detected-registered-commands

When enabled, the filter will scan for existing commands from other plugins and allow them to go through, even if they are falsely detected due to being similar to a blocked word
Keeping this enabled is highly recommended, as it can prevent a lot of false positives depending on how many commands your server has.
Note that this option will only work if "process-commands" is true in config.yml
1
ignore-detected-registered-commands: true
Copied!

blocked-words-and-phrases

Below is the blacklist of words & phrases that will be blocked from being said in chat & commands.
Character case in the below list does not matter. Case variants are automatically checked by the plugin on all entries.
Set to "blocked-words-and-phrases: []" to have an empty list.
For preconfigured (English) lists of swears, slurs, etc. see here: https://wiki.chatsentry.xyz/misc-info/preset-word-lists
For an extensive guide on how the block list works and how to set it up properly, see here: https://wiki.chatsentry.xyz/word-and-phrase-filter-block-list-guide HIGHLY RECOMMENDED TO READ TO PREVENT FALSE DETECTION ISSUES, OR USE THE PRESET LISTS !
1
blocked-words-and-phrases:
2
- "badword"
3
- "anotherBlockedWord"
4
- "a blocked phrase"
5
- "exact::exact entry"
6
- "exactcontains::exactcontains entry"
Copied!

whitelisted-word-and-phrases

Below is the whitelist of words & phrases that will under all circumstances be ignored by the filter.
Since similar words/phrases to the blacklisted words/phrases are detected, the below list functions to fix the plugin not allowing valid but close matching words/phrases on entries you have no modifiers on.
Similarity checking is not active on these entries & character case does not matter.
Set to "whitelisted-words-and-phrases: []" to have an empty list.
1
whitelisted-words-and-phrases:
2
- "alwaysAllowThisWord"
3
- "always allow this phrase"
Copied!

whitelisted-commands

The below list will only work if "process-commands" is true in config.yml
The below list is which commands (including all arguments) the module under all circumstances will not process.
Make sure to only include base commands; don't add any command arguments. (spaces)
Set to "whitelisted-commands: []" to have an empty list.
1
whitelisted-commands:
2
- "/exampleIgnoredCommand"
Copied!