word-and-phrase-filter.yml
1
# --------------------------------------------------------------------------------------
2
# Intelligent Word & Phrase Filter:
3
# 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).
4
# Bypass permission: "chatsentry.wordandphrasefilter.bypass"
5
# --------------------------------------------------------------------------------------
6
7
# If "process-commands" is true in config.yml, this module will filter through all commands (apart from ignored commands on the list below) (of players without bypass permission or op)
8
# If "process-signs" is true in config.yml, this module will filter through text written on signs (of players without bypass permission or op)
9
# If "process-anvils" is true in config.yml, this module will filter through items renamed in anvils (of players without bypass permission or op)
10
# If "process-books" is true in config.yml, this module will filter through writing in books (of players without bypass permission or op)
11
12
censor:
13
# Should the filter censor detected messages? When set to false, detected messages will be blocked entirely.
14
# Due to the complexity of this options integration with the native filter, it's not always able to modify the message properly. If so, the message will be blocked completely instead.
15
enabled: true
16
# When set to false, the block message will only be sent if the message could not be censored, or if the entry had a nocensor:: modifier
17
send-block-message-when-censored: false
18
# Makes the censor leave the first two letters uncensored
19
partially-censor: true
20
# Since the filter can block long variations of blocked words/phrases, censored words/phrases might end up really spammy looking. This option will shorten the censored result if it's excessively long.
21
# Ex. "What the *******************" -> becomes -> "What the *****"
22
shorten: true
23
# The character used to censor messages
24
censor-char: "*"
25
# Should Word & Phrase Filter Auto Punisher warnings apply if the message was censored? Has no effect if Auto Punisher warnings for the WAPF are disabled, or if the entire Auto Punisher module is disabled. This in conjunction with the nocensor modifier allows you to apply warnings to players who attempt to use very vulgar language, but apply no warnings to people sending basic swears/other blocked entries that are censored
26
autowarn-when-censored: false
27
# Should the module send Admin Notifier notifications when a message is censored? Set to false to only get notifications only when the censor fails to censor a message and has to block it entirely, or a nocensor:: entry is triggered. Requires the Admin Notifier module to be enabled to take effect.
28
notify-when-censored: true
29
30
# To block variants and attempts to bypass the filter, the module will check for similar words & phrases that are on the blocked-words-and-phrases list in players messages and commands.
31
# 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.
32
# 1.0 = exactly as one of the phrases on the list (excluding character case)
33
# 0.0 = not exact (this eliminates the purpose of the similarity checker)
34
block-similarity-threshold: 0.82
35
36
# 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.
37
# Not recommended to use along with the censor as it can leave parts of the visible message substituted. Enable if you're not using the censor or want extra protection anyway
38
substitution-intelligence: false
39
40
# 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 around or under ~12 substitutions.
41
substitution-intelligence-charset:
42
- "0 (->) O"
43
- "1 (->) I"
44
- "2 (->) R"
45
- "3 (->) E"
46
- "4 (->) A"
47
- "@ (->) A"
48
- "< (->) C"
49
- "# (->) H"
50
- "$ (->) S"
51
- "+ (->) T"
52
- "( (->) C"
53
- "{ (->) C"
54
- "| (->) L"
55
56
# Should detections found in players usernames be ignored?
57
ignore-usernames: true
58
59
# 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
60
# Keeping this enabled is highly recommended, as it can prevent a lot of false positives depending on how many commands your server has.
61
# Note that this option will only work if "process-commands" is true in config.yml
62
ignore-detected-registered-commands: true
63
64
# Below is the blacklist of words & phrases that will be blocked from being said in chat & commands.
65
# Character case in the below list does not matter. Case variants are automatically checked by the plugin on all entries.
66
67
# Set to "blocked-words-and-phrases: []" to have an empty list.
68
69
# For preconfigured (English) lists of swears, slurs, etc. see here:
70
# https://wiki.chatsentry.xyz/misc-info/preset-word-lists
71
72
# Block list guide: HIGHLY RECOMMENDED TO READ TO PREVENT FALSE DETECTION ISSUES, OR USE THE PRESET LISTS !
73
# https://wiki.chatsentry.xyz/word-and-phrase-filter-block-list-guide
74
75
blocked-words-and-phrases:
76
- "badword"
77
- "anotherBlockedWord"
78
- "a blocked phrase"
79
- "exact::exact entry"
80
- "exactcontains::exactcontains entry"
81
- "regex::(regex entry)"
82
- "nocensor::dont censor this entry"
83
84
# Below is the whitelist of words & phrases that will under all circumstances be ignored by the filter.
85
# 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.
86
# Similarity checking is not active on these entries & character case does not matter.
87
# Set to "whitelisted-words-and-phrases: []" to have an empty list.
88
whitelisted-words-and-phrases:
89
- "alwaysAllowThisWord"
90
- "always allow this phrase"
91
92
# IMPORTANT: The below list will only work if "process-commands" is true in config.yml
93
# The below list is which commands (including all arguments) the censor will not process.
94
# Any nocensor:: entries will be respectively blocked
95
# Make sure to only include base commands; don't add any command arguments. (spaces)
96
# Set to "censor-whitelisted-commands: []" to have an empty list.
97
censor-whitelisted-commands:
98
- "/exampleIgnoredCommand"
99
100
# IMPORTANT: The below list will only work if "process-commands" is true in config.yml
101
# The below list is which commands (including all arguments) the module under all circumstances will not process.
102
# Make sure to only include base commands; don't add any command arguments. (spaces)
103
# Set to "whitelisted-commands: []" to have an empty list.
104
whitelisted-commands:
105
- "/exampleIgnoredCommand"
Copied!
Copy link