Skip to content

Feat/anti spam(chat) - #6649

Open
MochaMilkie wants to merge 52 commits into
EssentialsX:2.xfrom
MochaMilkie:feat/anti-spam
Open

MochaMilkie wants to merge 52 commits into
EssentialsX:2.xfrom
MochaMilkie:feat/anti-spam

Conversation

@MochaMilkie

Copy link
Copy Markdown

Information

This PR closes #6638.

Details

Proposed feature:
Adding a native, lightweight anti-spam system directly into EssentialsXChat. It should include basic moderation mechanics to keep chat clean without needing third-party plugins.

The core features should include:

Chat Cooldown: A configurable delay (in seconds) between messages with a bypass permission (essentials.chat.bypass.cooldown).
Duplicate Filter: Blocking identical or highly similar repetitive messages from the same player.
Caps Lock Filter: Automatically converting text to lowercase if a message contains too many capital letters (e.g., >70% CAPS).
Automated Actions: Configurable responses when spam is detected (block message, warn player, or run a command).

Environments tested:

OS: Ubuntu 26.04

Java version:

  • Most recent Paper version (26.2, git-Paper-74)
  • CraftBukkit/Spigot/Paper 1.12.2
  • CraftBukkit 1.8.8

Demonstration:

@MochaMilkie MochaMilkie changed the title Feat/anti spam Feat/anti spam(chat) Nov 9, 2026
Add checks for repeated messages with same ending, and checked for 70%+ caps and set the message to full lowercase
…a message.

If runable is null we recreate it and continue.
Removed unnecessary if statement
…uplicate message or a message with too many capitol letters.

Added permission bypass for chat cooldown
… being the same except for capitalization

Also check for caps abuse first to prevent the above
@MochaMilkie
MochaMilkie marked this pull request as ready for review November 13, 2026 01:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add lightweight built-in anti-spam system to EssentialsXChat

1 participant