ChatSentry Wiki
  • ChatSentry
  • Features
  • Compatibility details
  • Module list & info
  • FAQ
  • Perms & Cmds
    • Bypass & misc. permissions
    • Commands (and their permissions)
      • In-game view
      • In depth command usages
  • guides
  • Plugin installation & configuring guide
  • Network bridge setup guide
  • In depth Word & Phrase Filter block list setup
  • In depth Chat Executor guide & entry examples
  • Config guides
    • Main/core config guide
    • Module config guides
      • Admin Notifier
      • Anti Chat Flood
      • Anti Command Prefix
      • Anti Join Flood
      • Anti Parrot
      • Anti Statue Spambot
      • Auto Grammar
      • Auto Punisher
      • Cap Limiter
      • Chat Cooldown
      • Chat Executor
      • Command Spy
      • Link & Ad Blocker
      • Spam Blocker
      • Unicode Remover
      • Word & Phrase Filter
    • Lang file guide
  • contact
  • Get support, talk with other cs users, make suggestions, etc.
  • Plugin Files
    • Default plugin configs & other files
      • /ChatSentry
        • config.yml
        • lang.yml
        • storage.yml
        • changelog.txt
      • /ChatSentry/Modules
        • admin-notifier.yml
        • anti-chat-flood.yml
        • anti-command-prefix.yml
        • anti-join-flood.yml
        • anti-parrot.yml
        • anti-statue-spambot.yml
        • auto-grammar.yml
        • auto-punisher.yml
        • cap-limiter.yml
        • chat-cooldown.yml
        • chat-executor.yml
        • command-spy.yml
        • link-and-ad-blocker.yml
        • spam-blocker.yml
        • unicode-remover.yml
        • word-and-phrase-filter.yml
  • Misc info and resources
    • Preset word lists for the word and phrase filter
    • ChatSentry's SpigotMC Page
  • API
    • About
    • Accessing the API
    • API Documentation
      • Events
      • Methods
  • Development
    • v5 Changelog
    • Legacy Changelogs
      • v4 Changelog
      • v3 Changelog
      • v2 Changelog
      • v1 Changelog
  • legal
    • Terms of Use Agreement
Powered by GitBook
On this page
  • About this module
  • Config guide
  • block-similarity-threshold
  • substitution-intelligence
  • substitution-intelligence-charset
  • ignore-usernames: true
  • ignore-detected-registered-commands
  • blocked-words-and-phrases
  • whitelisted-word-and-phrases
  • whitelisted-commands

Was this helpful?

  1. Config guides
  2. Module config guides

Word & Phrase Filter

PreviousUnicode RemoverNextLang file guide

Last updated 3 years ago

Was this helpful?

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)

block-similarity-threshold: 0.84

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.

substitution-intelligence: true

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

substitution-intelligence-charset:
  - "1 (->) i"
  - "2 (->) R"
  - "3 (->) E"
  - "4 (->) A"
  - "@ (->) A"
  - "< (->) C"
  - "# (->) H"
  - "$ (->) S"
  - "+ (->) T"

ignore-usernames: true

Should detections found in players usernames be ignored?

ignore-usernames: true

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

ignore-detected-registered-commands: true

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.

blocked-words-and-phrases:
  - "badword"
  - "anotherBlockedWord"
  - "a blocked phrase"
  - "exact::exact entry"
  - "exactcontains::exactcontains entry"

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.

whitelisted-words-and-phrases:
  - "alwaysAllowThisWord"
  - "always allow this phrase"

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.

whitelisted-commands:
  - "/exampleIgnoredCommand"

For preconfigured (English) lists of swears, slurs, etc. see here:

For an extensive guide on how the block list works and how to set it up properly, see here: HIGHLY RECOMMENDED TO READ TO PREVENT FALSE DETECTION ISSUES, OR USE THE PRESET LISTS !

word-and-phrase-filter.yml
https://wiki.chatsentry.xyz/misc-info/preset-word-lists
https://wiki.chatsentry.xyz/word-and-phrase-filter-block-list-guide