ChatProtect - AI powered chat moderation! [1.8-26.1] icon

ChatProtect - AI powered chat moderation! [1.8-26.1] -----

Tired of flooded chat? Remove spam, swearing, ads and more automatically - Fully customisable!



[​IMG]

Overview

ChatProtect is a robust and modern moderation plugin that automatically moderates your chat, preventing spam, offensive language, and advertisements. Are you tired of players advertising their servers? Annoyed by a flooded chat?
ChatProtect is the solution!

Features
AI-powered Chat Moderation:
ChatProtect uses the Google Perspective API to instantly score messages for toxicity and offensive context. This delivers a significantly higher detection rate and catches slurs, subtle insults, and threats that standard filters miss.

Massive Blacklist Coverage:
ChatProtect comes with a pregenerated list of blacklisted words. This filter will check every single message on your server. ChatProtect can even detect and block attempts to bypass the chat filter.

Advertisement & IP Blocking:
Automatically and instantly block players trying to advertise other servers. We block IP addresses, domain names, and suspicious links to keep your players safe.

Advanced Spam & Flood Prevention:
Keep your chat clean and readable. ChatProtect automatically filters out:
  • Repetitive Messaging (Chat flooding)
  • Excessive Caps (Screaming/Uppercase spam)
  • Random Letter Spam
Discord Alerts:
Use Discord Webhooks to automatically send alerts to your private staff channel the moment an message is flagged by ChatProtect.

Spam bot detection:
ChatProtect can identify spam bots, which are often found in hack clients such as Liquidbounce.

[​IMG]

Installation

  1. Download the plugin: Get the latest version of ChatProtect from SpigotMC.
  2. Install: Place the ChatProtect.jar file into your server's plugins directory.
  3. Restart Server: Restart your server to enable the plugin.
  4. Configure: Customize the plugin by editing the config.yml file in the plugins/ChatProtect directory. Replace the default kick and ban commands with your own punishment commands (e.g. replace kicking with a temporary mute).
  5. Testing: When testing the plugin make sure you don't have operator / chatprotect.bypass permissions. Otherwise you will bypass the checks.

Commands and Permissions
  • /chatprotect alerts (chatprotect.alerts)
  • /chatprotect reload (chatprotect.reload)
  • /chatprotect clearchat (chatprotect.clearchat)
  • chatprotect.command (See the command)
  • chatprotect.bypass (Bypass the detection)
Configuration
Code (Text):
#
#
#       /$$$$$$  /$$                   /$$     /$$$$$$$                       /$$                           /$$
#     /$$__  $$| $$                  | $$    | $$__  $$                     | $$                          | $$
#   | $$  \__/| $$$$$$$   /$$$$$$  /$$$$$$  | $$  \ $$ /$$$$$$   /$$$$$$  /$$$$$$    /$$$$$$   /$$$$$$$ /$$$$$$
#   | $$      | $$__  $$ |____  $$|_  $$_/  | $$$$$$$//$$__  $$ /$$__  $$|_  $$_/   /$$__  $$ /$$_____/|_  $$_/
#   | $$      | $$  \ $$  /$$$$$$$  | $$    | $$____/| $$  \__/| $$  \ $$  | $$    | $$$$$$$$| $$        | $$
#   | $$    $$| $$  | $$ /$$__  $$  | $$ /$$| $$     | $$      | $$  | $$  | $$ /$$| $$_____/| $$        | $$ /$$
#   |  $$$$$$/| $$  | $$|  $$$$$$$  |  $$$$/| $$     | $$      |  $$$$$$/  |  $$$$/|  $$$$$$$|  $$$$$$$  |  $$$$/
#    \______/ |__/  |__/ \_______/   \___/  |__/     |__/       \______/    \___/   \_______/ \_______/   \___/
#
#                                  Made with ❤ by TheTigerPython in Germany

settings:
  # The prefix is displayed before each message (you can use color codes with &).
  prefix: "&9ChatProtect &8» &7"

  # Staff Alert Settings:
  # Placeholders:
  #   %message% → The name of the player who triggered the check.
  #   %player%  → The actual text content that was flagged.
  #   %check%   → The name of the detection module (e.g., Toxicity, Spam).
  #   %reason%  → Technical debug info or the specific rule violated.
  alertsFormat: "&9%player% &7| &9\"%message%\""
  alertsHoverFormat:
    - "&9Player &8» &7%player%"
    - "&9Message &8» &7%message%"
    - "&9Category &8» &7%check%"
    - "&9Details &8» &7%reason%"
    - "&9Click to mute %player% for %check%! &7(/tempmute)"
  alertsCommandSuggestion: "tempmute %player% 10m %check%"

  # We can also check private messages using commands for spam, advertisements
  # and inappropriate language. This is a list of all the commands we check.
  commands:
    - "msg"
    - "message"
    - "tell"
    - "me"
    - "*"

  # Automatically enables alerts for players with chatprotect.alerts permission.
  automaticallyEnabledAlerts: true

discord:
  # If you want to enable this discord bot. (true/false)
  enabled: false

  # ChatProtect requires a webhook to send messages to your Discord server.
  # Watch this tutorial to learn how to create a webhook: https://www.youtube.com/watch?v=fKksxz2Gdnc
  webhook: ""
  inline: false

  name: "⚠️ » Chat Protect Alert « ⚠️"
  footer: "ChatProtect - Automatic chat moderation"

  # The name and value have to be separated by the symbol "|"
  # Placeholders: %player% %message% %check%
  content:
    - "**Player**| %player%"
    - "**Message**| %message%"
    - "**Check**| %check%"

checks:
  # The toxicity check penalizes players for using offensive language in chat.
  # This check will use the Google Perspective API by default. You can add custom
  # blacklisted words to the blacklist.yml file in the server directory.
  toxicity:
    enabled: true
    message: "Please watch your language!"

    # By enabling this feature, you agree that you have read the Important Privacy Disclosure for Server Owners
    # on the SpigotMC page. (https://www.spigotmc.org/resources/chatprotect-ai-powered-chat-moderation-1-8-1-21.117719/)
    usePerspectiveAPI: false

    # The score (0.0 to 1.0) when a message should be flagged as offensive.
    maxScore: 0.7

    # Note: Perspective API detections are flagged but not blocked.
    # Local blacklist.yml matches are blocked immediately.
    silent: false

    # Here, you can set different punishments for each check. Every line always follows this format:
    # Threshold:Interval Command.
    # Placeholders: %player% (the player's name) and %message% (the flagged message).
    # This command is always executed in the server's console. You can also use [Discord] to send an alert
    # to Discord (see above), or [alert] to send an alert to all online staff via "chatprotect.notify".
    # Info: Please note that flags created using the Google Perspective API will not execute any commands at this time.
    punishments:
      - "1:1 [discord]"
      - "1:1 [alert]"
      - "10:10 tempmute %player% 10m Swearing"

  # The spamming check will prevent players from flooding the chat with messages. It will detect
  # random letters, repetitive messages and messages sent too quickly.
  spamming:
    enabled: true
    messages:
      speed: "Please don't spam the chat!"
      uppercase: "Please don't use excessive uppercase letters!"
      repeat: "You have already said that before!"

    # The cooldown period is in milliseconds between each message sent. Note: we will not immediately block.
    # Messages will not be blocked immediately for being sent too quickly, but rather when lots of messages exceed this limit.
    minMessageCooldown: 500

    # The percentage of a message that must be in uppercase for it to be blocked (default: 0.4, or 40%).
    maxUppercasePercentage: 0.4

    # The maximum allowed similarity between messages is 0.7 (70%).
    maxSimilarityPercentage: 0.7

    # This is the maximum number of words per minute before the message is flagged as spam. Set to -1 to disable this check.
    maxWPM: 200
         
    # The brackets mean that there are currently no punishments or alerts for this check.
    # However, you can add them yourself, as shown above.
    punishments: []

  # The advertising check will prevent players from sending IP addresses and links in the chat.
  # The advanced mode provides an additional level of protection but may result in some normal messages being blocked.
  advertising:
    enabled: true
    message: "Advertising is not allowed on our network!"

    # Toggle advanced mode. Will detect more advertising attempts, but may lead to some false positives.
    advancedChecks: false

    # See above (toxicity).
    punishments:
      - "1:1 [discord]"
      - "1:1 [alert]"
      - "10:10 tempmute %player% 10m Advertising"
 

[​IMG]

Please send a private message for support!
Leave a review :)
Resource Information
Author:
----------
Total Downloads: 882
First Release: Jun 30, 2024
Last Update: May 15, 2026
Category: ---------------
All-Time Rating:
7 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings