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! ;)
@ryvix
Reload permissions in place :)
@gabriel11798 Opps - punctuation fail ;)
Yeah - I was kicking myself. I've even written routines for MobHealth to handle colour codes nicely, I should have put them in here too! :)
@SableDnah
Could use a "," It looks like sarcasm, but I get it ;) On the other hand.....
@gabriel11798 You know I haven't tried?!
I'll drop some & colour codes in and test - it might need a 'lil more tweaking to enable them. Will make sure 1.6 supports it ;)
@ryvix
Yeah should be doable. reload only reads the config file in again - so it doesn't do any harm - but best to be safe ;)
THIS. IS. PERFECT! No unecessary kicking/ban punishments, just simple censoring! :D (Does the config.yml and lang.yml have color support? (for the messages))
Hi there,
People who aren't ops are able to reload it with /chatfilter reload
Would it be possible to deny people without permissions or without op to even run /chatfilter at all?
Thanks =)
@Jobsti2 Sure I can do that.
I'll just add chatfilter.canswear so you can dish that out to users as required :)
Heyho,
works great, love it. But could you implement a permission for the chatfilter? Our Server is for 18+ users, we only want to block the words for default users.
Would be great.
@tmad40blue Yay - that'll be my first donation :) Thanks!
I'll have a stop by to see your server later, always on the lookout for safe friendly servers for my little ones to play on - and yours sounded ideal :)
I have been looking for a plugin like this for 6 months. Thank you so much. I will happily donate a bit of money.
I'll install this later tonight on my server (http://www.intercraften.org/ if you want more info) – if you'd like to see it working, I can whitelist you; just submit a request through the website I listed in the previous sentence.
@falsevacuum
There you go, Have spruced up the description - source is now listed above :)
Do you have the source for this posted somewhere? I always like to look at what people write.
@Junrall
Done :) http://dev.bukkit.org/server-mods/chatfilter/files/6-chat-filter-v1-4/
@Junrall Sure, will see what I can put in for you :)
OOI Is this a public server? I like to see my plugins 'in the wild' :)
Still using this!
Could you please give us the ability to replace bad words with a word of our choice?
Thanks!
Now your plugin is above ALL the others!
Works like a charm! I'll keep it on my server.
Thanks dude!
@Junrall Have just uploaded v1.3 to add whole word only matches.
@Junrall
That's a good idea... I'll see what I can do.
I know most filters use the part matching as then it's a simple case of using .contains(). Whereas splitting the sentence into words and then matching each word is much more work. Luckily its work I've done before when writing search algorithms for web pages - so I'll have a try :)
I like the simplicity of your config files!
There is one thing that I have not found in any other chat censor plugin... including yours:
Lets say "dork" is a bad word, but "dorkmork" is a good word... your plugin, as well as others like it, will consider "dorkmork" a bad word.
Is it possible to add two two profanity lists in the config file?
One list would look for "dork" by itself and not trigger on "dorkmork". The second list would trigger on anything with "dork" in it, such as "dork", "dorkmork", furdorkmork", and so on.
This would allow people to use words like "assume" but not words like "fu%%mork"
Just my opinion... but I think this would set your plugin apart from all the others and make it more desirable.