ChatFilter
Chat Filter
Running a family server? Fed up of griefers not only griefing your world - but your chat too? Then you need new ChatFilter!
ChatFilter lets you set up a list of trigger words that, when matched in chat will cancel the message and send the player a custom message, be it a warning or just a friendly nudge. It can even kick offenders if required.
ChatFilter offers both part and whole word matching options, so you can block messages very intelligently.
You can also set up a list of words to trigger a custom server broadcast.
And, from v2.0.0 it now screens commands of your choice - e.g. /msg
Just download - run once - and then edit lang.yml to setup your filter words and trigger phrases.
ChatFilter is a lightweight plugin for when you want a simple solution for controlling swearing on your server.
You can see the default settings here . Warning contains the swear words that trigger warnings.
Current Version: 2.0.0
Config
kick: [true|false] Set to true to kick players who swear.
showInConsole: [true|false] Show player's name and the offending message in console.
censor: [true|false] Censor messages instead of blocking entire message.
agressiveMatching: [true|false] Attempts to match more words by looking for 3=e 0=o etc.
Edit lang.yml (created on first run) to change the trigger words, commands to filter and notification text.
Commands
/ChatFilter reload Reload settings from lang.yml
Permissions
chatfilter.reload
Allows user to reload.
chatfilter.canswear
Allows users with this node to bypass filters.
chatfilter.blockchat
Users with this node cannot chat.
chatfilter.canchat
Users with this node can chat.
Changelog
1.7.2: Changed permissions node for chat to chatfilter.canchat
1.7.1: Fixed config typo
1.7.0: Aggressive matching option. Permissions node to block chat completely.
1.6.0: Permissions node for reload. Colour support.
1.5.0: Permissions node to allow select users to swear.
1.4: Optional censorship mode. Replaced words with configurable text.
1.3: Config options to enable whole word matching.
1.2: Option to display information about blocked messages in console.
1.1: Added kick option.
1.0: First release.
Source Code
https://github.com/Sablednah/ChatFilter
Donations
Donations of any amount are, of course appreciated :)
Contributions go towards maintaining my development server to encourage continued development. ChatFilter is solo coded by me so if you think that time is worth something then hit the button in the top right! ;)
How can I allow my own website to be typed in the chat? I don't want it to block the server website address...
This is sortof Necro-bumping, but for some reason the trigger words 11 and eleven cannot be removed. I have edited the files to not have trigger words or messages, and then saved and reloaded the plugin... But it still pops up.. fix?
I demand a /softmute-esque function where the offender is unaware of being caught. All and any chat filtering plugins, ranging from anti-advertise to anti-swear are utterly useless without such a function, because trust me, there is ALWAYS a way to get past the best of filters.
And when someone knows they've been blocked by a chat filter, guess what they're going to do?
Hi i would love to request a perm/command that when you do it, It will make so you can swear and see it (including others) but the player who doesnt have it on will not see the swearing. I would love to see this feature thanks <3
@SableDnah
Alright, hope it happens soon! (Just to be clear, it would function similarly to /softmute - where the player is unaware of the censor, and thus doesn't attempt to get around it.)
@The_PC_Tech_Guy
I guess I could do a "silent" mode. Will see. I need to do a couple of tweaks to make it spigot compatible anyways.
Is it possible for this plugin to act like GriefPrevention does, where it silently censors words, only reporting the original message to the player and a notification to the OPs and console?
@SableDnah
This is the best chat filter on bukkit. Just the command filter alone, made all the differences in the world. Thank you for this plugin!!!
madtomic
@GorguZ Define support? It should ignore accents. It runs via a RegExp using InCombiningDiacriticalMarks. So in the config you just need to add, for example, "hat", not "hät","håt" etc
Can you please add support for äöå?
@fastlockel
New version out now cleans up that output :)
Works fine for me : just a LOW warning remark , I set debug false but it keeps on writing to the simple console the testwords and tearwords 13.05 15:04:31 [Server] INFO swearWord: xxxxx 13.05 15:04:31 [Server] INFO testWord: o 13.05 15:04:31 [Server] INFO swearWord: xxxx 13.05 15:04:31 [Server] INFO testWord: o (I removed horse language by xxxx) If you could just avoid dumping the horse words to the console output :-) because this is not the best of quality for litterature
@SableDnah
Its not being run from a command block.... being run from the console by plugins such as ServerSigns or Craftbook.
@jjkrause
Have you tried "/gamerule commandBlockOutput false" ?
@SableDnah
The example I gave you was a direct message yes... but there are others that appear for everybody, such as [CONSOLE: Given JUMP ( ID 8 ) to JasonKrause for 30 seconds] when using the effect command from console... If I could block everything starting with certain words, that would be awesome!
In the above example, I could block "[CONSOLE: Given*" and that would block all effect commands.
@jjkrause
Thats a direct message to the player - not broadcast chat.
I could add a list of entire sentences to look out for tho and block those.. will see what i can do.
@MURD3RUS
That would be awesome, but hard - at the moment the same message is sent to "broadcast" chat. I'd have to block that if there was a swear and instead manually message each player the filtered or unfiltered test. Its a bit of a hack - and would break a lot of other chat plugins as they would no longer be "chats"... but its a great idea so i will think on it further.
I'm looking for a filter program that will remove text generated by commands. Example: I have a command block that clears a person's inventory using /clear @p -a. In that person's chat, he sees "Your inventory has been cleared by @". Would it be possible to filter any output from any commands?
Can you add a permission so, only certain people can SEE swears?? That'd be really fresh.
Doesn't work with herochat anymore.
Any plans for updating this great plugin?