arkflame / chatsentinel Goto Github PK
View Code? Open in Web Editor NEWLight plugin to prevent Spam/Swearing on your Spigot/Bungee server.
License: GNU General Public License v3.0
Light plugin to prevent Spam/Swearing on your Spigot/Bungee server.
License: GNU General Public License v3.0
This is the best free chat moderation plugin so far I have used. Please come to Aternos too, most of the chat moderation plugin available there don't have as much features as this does!
Aternos in this article
States that they support plugins (for java mc) from modrinth, spigot ,curseforge and bukkit. Would be fantastic if you considered my request and uploaded this plugin to one of the websites.
you can fix like this code
for (Pattern bannedRegex : bannedRegex) {
if (bannedRegex.matcher(message.toLowerCase()).find()) {
When running ChatSentinel 0.5.0 on Waterfall 1.19 build #510, it appears that when ChatSentinel tries to cancel a players message from being sent it kicks the player from the server entirely.
There are no errors or warnings in console and the player that gets kicked is kicked with the reason:
Received chat packet with missing or invalid signature.
cooldown
is enabled in config with the following settings:testing
in chat 5 times until the plugin flags you for repeat spam.testing
again or anything else.The plugin shouldn't kick the player for the reason below:
I am using FreedomChat on my back-end server with chat signing enforcement disabled in server.properties
, so if you cannot reproduce the issue normally without that setup, try adding FreedomChat to the server and setting enforce-secure-profile
to false
in server.properties.
When fake-message option is enabled and I write something forbidden and I get mute for 3 tries and then I write unmute my_name and I still can't write. Server on 1.8.8 PandaSpigot
Tested on LibertyBans plugin
("mute %player% 1d Offensive Language (%message%)")
Hi, would it be possible to integrate an option to split the blacklist, as it gathers ip spam and insults.
Velocity is a Minecraft: Java Edition Proxy - more information about it at https://velocitypowered.com/
I believe that ChatSentinel having Velocity support would be really great as Velocity has been growing really quickly recently and having more great plugins such as ChatSentinel natively available on Velocity would be really good!
In the cooldown part of the plugin, block messages of the same size. (Add extra cooldown like it was the same message)
Check for message similarity in percentage for flood check.
Hello! Supporter from AdvancedBan here!
It seems like you have redirected a user within your server due to the assumption of an issue being related to us. After inspecting the source code on how your plugin handles cancelled chat events, I have found the issue that is related to your plugin, not AdvancedBan or any other Plugin used within the bukkit-environment:
This Bukkit-based Chat Listener never respects the cancellation status and will still send moderative messages from your plugin despite the event being cancelled. This is not an issue with other plugins that may apply cancelling on events, but how your plugin handles it.
My suggested change is to first of all check the cancellation status before processing the event. If the event has been cancelled already, it can simply be ignored and does not need further processing. Likely how it was done on your bungeecord-version: https://github.com/2lstudios-mc/ChatSentinel/blob/2c1577f850b371b9af04920ca8c8566ab2b5850d/src/main/java/dev/_2lstudios/chatsentinel/bungee/listeners/ChatListener.java#L131
Kind regards
For example 'блять' blocks easy, but БЛЯТЬ no, i created 'БЛЯТЬ' in blacklist and it block, but easy bypass with: БлЯтЬ
Hello.
I have updated the plugin to the latest version (fixing this bug), but I still get negative values in the cooldown message (the first couple of times everything worked as it should, but then it broke).
The plugin is on flamecord server.
I have not been able to get ANY errors on this other than the fact that the plugin does not do literally anything when attempting to use on bungeecord. The plugin does in fact enable correctly and the blacklist area is in fact enabled but it does absolutely nothing still. I even regenerated configs to ensure i am doing everything correctly and still it wont work. I currently use BungeeChat with the latest dev build and 0.4.3 seems to work flawlessly (minus commands obviously). I currently build the plugin but i also even tried the mc-market/buildbybit version and still nothing changed.
the weirdest part to me though is that no error appears, i do in fact also have fake message off for bungeecord too.
EDIT: i honestly wish i had more info but there isn't anymore info sadly
BUG #1: https://imgur.com/a/RQXmALK
BUG #2: https://imgur.com/a/WfvQ7hW
you can add blacklist server to ignore all checks on that server like auth servers
You closed my previous issue #4 and told me to try using standard configurations and that this issue is not related to ChatSentinel.
However, I use the default configuration, only with modified messages and I am completely sure that the problem is in ChatSentinel. I have no other plugins interacting with the chat on BungeeCord (I have ChatSentinel installed only on BungeeCord).
I am completely sure that it's not some spigot server plugin to blame, since the message is displayed the one I specified in the ChatSentinel.
(Google Translator)
Hello Linsa,
can you add log file into your plugin? (store only 7d old logs)
We can easy search for the invaders then.
Thanks <3
Help, please... How to validate message, using ChatSentinel java api? I need this check to prevent displaying messages, because my plugin is displaying chat messages above player name.
Also could you please explain: how to check is player muted in essentialsx api?
This section of code was added in the recent update,
https://github.com/2lstudios-mc/ChatSentinel/blob/1a632434dd97c44b5c1064f5a4a3bac31967d8aa/src/main/java/dev/_2lstudios/chatsentinel/bungee/listeners/ChatListener.java#L62
and to my understanding of how the plugin works, since this is bungee, chat and command events are called with the same listener, so this if/else statement makes the plugin only work when the filter is checking commands. If it is not a command in the general commands list, the else statement executes, and return is called, which will just stop the event from running any further. This means the plugin will only run the filters on anything in the commands list specified and nothing else, regular chat is ignored.
Also, I believe this also needs addressing,
https://github.com/2lstudios-mc/ChatSentinel/blob/1a632434dd97c44b5c1064f5a4a3bac31967d8aa/src/main/java/dev/_2lstudios/chatsentinel/bungee/listeners/ChatListener.java#L104
this line for the blacklist module uses message instead of originalMessage, so anything that is modified to the original message will be reflected in the new message, so if sanitize names is enabled, names will not be in the message sent by the player. Looking over the commit history, this seems to have been an intentional change, however it does not really reflect what the description in the config for this is, as it mentions "internally" and "helps reduce false positives", so this shouldn't affect what chat message the player says afterwards. If a player says "Hello Steve!" and the filter "internally" removes Steve to reduce false positives, the message would later be reduced to "Hello!" because Steve was removed. This also creates the problem of the code segment starting at line 62, as it is removing the command that was meant to run from the message variable, so when the plugin changes the player message, the command portion is completely removed. If a player ran "/msg Tim Hi!" "/msg" would be removed and the player would end up saying "Tim Hi!" instead of running the /msg command.
Thank you for looking over this and also for a amazing plugin! It has been working great besides these small issues above.
Attempting to use any Towny or TownyChat commands return "Wait 0.9s before sending another messsage!"
Regex compiled on join: [playername|playername|playername]
Remember to sanitize the names before using them. Sometimes names have special characters that break Regex.
This will be a performance improvement over ChatControl.
I would like to see Russian language support in blacklist.yml and whitelist.yml
No matter how hard I try to ban words from Russian letters, it doesn't work.
Not only that, the blacklist can be bypassed simply by mixing Cyrillic and Latin.
It's an occasional error that comes up sometimes, it happens when you run a carbon command, I think it started since I added chat sentinel, so it could be a conflict issue with each other.
For some reason when i do /msg [username] [message sent] if there is a word setup in the black list it will print that message to main chat rather than just blocking the command or sending the message with the ***
As you can see in the image it puts the message in main chat rather than just blocking or still running the command but with the replaced word. i am unsure if this is a bungeechat quirk but it is there
Though at least the command catching for blacklisted words works now :D
I was testing just for the flood control... but it doesnt do anything besides the warning... the message goes trough.
The same with the other checks, like caps
Venturechat: https://www.spigotmc.org/resources/venturechat.771/
The Plugin installed on bungeecord don't work as espected, It block normal chat, but if you do /msg (swear) don't block
Found bugs
Screen:
https://gyazo.com/0bf21d2ae40277a9ce3aa93bf31352d1 (flood + caps)
https://gyazo.com/ec2f53177e0d8f54c4f6fd4217cc0e90 (syntax)
Would be great to confirm support with paper folia
I have ChatSentinel v0.3.8 (latest) on FlameCord server. Error is in incorrect values of the variable %cooldown% (in messages.yml).
Players receive messages like this "Please wait -8.1 seconds before use chat again." The variable %cooldown% took a negative value. And it seems like a delay in repeat and normal messages is broken (With Russian symbols, I have Russian server. Delay in normal message = delay in repeat message, when using in chat Russians symbols).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.