The most advanced system for your chat, from the ability to format it however you need to filtering words and analyzing them with AI. It also includes common modules to prevent chat flooding and attempts to bypass with Unicodes. Plus, extra modules to combat spam from external links with a whitelist option.
Chat Filtering Options
- Customizable filtering:
- Ability to whitelist/blacklist words.
- Ability to notify staff via actionbar
- Ability to give a format for chat.
- Ability to detect spaced urls
- Ability to detect-unicode-urls
- Ability detect-emoji-urls
- Customizable detection trigger.
- Ability to set maximum bad-words.
- Ability to ignore unicode chars
- Ability to filter flood and customize max word. On of top that you can replace the word with shorter one. And you can add your own custom limits
- Ability to filter "spam" links via unicode checking you can whitelist most of TDLs
- Password check:
- Ability to check via API if a player password has been leaked
- Attributes:
- TOXICITY and experimental modules
- Profanity and experimental modules
- Threat and experimental modules
- Identity-attack and experimental modules
- Insult
- Sexuality Explicit
- Filtration
- Spam
- ATTACK_ON_AUTHOR
- ATTACK_ON_COMMENTER
- INCOHERENT
- LIKELY_TO_REJECT
- OBSCENE
- UNSUBSTANTIAL
- Debug
- Model-Response debug
- Json-Response debug
- Per-Context-Filtering
- Depending on the context and the way things are said, the software will penalize them.
- Discord-Webhook
- The software has the ability to send messages and the toxicity percentage via embed
High-Performance
- Cache
- The plugin will always have a configurable cache so as not to send simultaneous requests per player to the API.
- Ability to use PostgreSQL for high performance db connection
- Petitions
- Messages are sent asynchronously and in virtually unlimited quantities with virtually instantaneous detection
- Events
- All the events are running out of the main thread avoid locking it
Some Images of working-software
YAML:
# General settings for IA filtering
settings:
# Advanced chat filtering solution powered by xism4
# You must change the default field to run properly the software
your-license: "your_license"
# Analyze messages from players
ia-chat-filtering: true
# Detection threshold to filter messages
filtering-detection-to-action: 0.6
# Maximum number of bad words before taking action
filtering-max-offenses: 5
# Command executed when it reaches the maximum number of bad requests
filtering-command-on-offense: "mute %player% 30m"
# General settings for typic modules
chat-modules:
# Enable flood protection
flood-protection: true
# Time for sending another word
time-to-repeat-word: 800
# Maximum length for words
max-world-length: 120
# Limit words instead of blocking?
limit-words: true
# Limit Divide the message into words and count how many times the same word is repeated consecutively to cut it
limit-repeated-words: 10
# Custom limits for repeated characters
# Format: "<CHARACTER>;;<LIMIT>"
# Example: "!;;10" means '!' can be repeated up to 10 times
custom-limits:
- "!;;10"
- ".;;10"
# Characters to ignore when filtering words
# These characters will be removed before applying whitelist/blacklist
ignored-unicode-chars: "áàäâãåÁÀÄÂÃÅéèëêÉÈËÊíìïîÍÌÏÎóòöôõÓÒÖÔÕúùüûÚÙÜÛýÿÝŸñÑçÇ.,:;!?¡¿()[]{}<>\"'`´^~•·…—–⁰¹²³⁴⁵⁶⁷⁸⁹₀₁₂₃₄₅₆₇₈₉ \u200b\u200b\u200c\u200d\u2060𝒶𝓪𝕒𝖆𝗮𝘢𝙖𝚊𝒷𝓫𝕓𝖇𝗯𝘣𝙗𝚋𝒸𝓬𝕔𝖈𝗰𝘤𝙘𝚌𝒹𝓭𝕕𝖉𝗱𝘥𝙙𝚍𝓮𝕖𝖊𝗲𝘦𝙚𝚎𝒻𝓯𝕗𝖋𝗳𝘧𝙛𝚏𝓰𝓖𝕘𝖌𝗴𝘨𝙜𝚐𝒽𝓱𝕙𝖍𝗵𝘩𝙝𝚑𝒾𝓲𝕚𝖎𝗶𝘪𝙞𝚒𝒿𝓳𝕛𝖏𝗷𝘫𝙟𝚓𝓀𝓴𝕜𝖐𝗸𝘬𝙠𝚔𝓁𝓵𝕝𝖑𝗹𝘭𝙡𝚕𝓂𝓶𝕞𝖒𝗺𝘮𝙢𝚖𝓃𝓷𝕟𝖓𝗻𝘯𝙣𝚗𝓸𝓞𝕠𝖔𝗼𝘰𝙤𝚘𝓅𝓹𝕡𝖕𝗽𝘱𝙥𝚙𝓆𝓺𝕢𝖖𝗾𝘲𝙦𝚚𝓇𝓻𝕣𝖗𝗿𝘳𝙧𝚛𝓈𝓼𝕤𝖘𝗌𝘴𝙨𝚜𝓉𝓽𝕥𝖙𝗍𝘵𝙩𝚝𝓊𝓾𝕦𝖚𝗎𝘶𝙪𝚞𝓋𝓿𝕧𝖛𝗏𝘷𝙫𝚟𝓌𝔀𝕨𝖜𝗐𝘸𝙬𝚠𝓍𝔁𝕩𝖝𝗑𝘹𝙭𝚡𝓎𝔂𝕪𝖞𝗒𝘺𝙮𝚢𝓏𝔃𝕫𝖟𝗓𝘻𝙯𝚣"
# Only block unicode that imitates ASCII letters?
# true = safe for languages, false = block all unicode
# This is because some hacky clients can break this check
enable-compatibility-for-bad-clients: true
# Filter spam links or domains
enable-ad-blocker: true
# Domains allowed in chat
# Supports wildcards: *.example.com
domain-whitelist:
- "imgur.com"
- "i.imgur.com"
- "shieldcommunity.net"
- "optifine.net"
- "java.com"
- "anydesk.com"
- "discord.gg"
# Detect spaced URLs like 's h i e l d c o m u n i t y . n e t'
detect-spaced-urls: true
# Detect URLs with emojis like 'shieldcommunity.net🔥'
detect-emoji-urls: true
# Detect Unicode URLs like 'shieldcommunity.net' or 'shieldcommunity.net'
detect-unicode-urls: true
# Only filter common TLDs (.com, .net, .org, .gg, .es, etc)
# Set to false to block ANY domain-like pattern
only-filter-common-domains: true
# Settings for general chat purposes
chat:
# Chat format using MiniMessage by default. Examples of placeholders <playerName> and <message>
chat-format: "<shadow:#000000FF><white>%luckperms_prefix% <green>%player_name%</white></shadow> <gray>»</gray> <blue>%message%"
# Enable chat formatting
use-chat-format: true
# Use MiniMessage format? Is highly recommended to do.
use-minimessage: true
# Settings for the attributes that are used
attributes:
# Chat Filtering modules to analyze
# Remove or add attributes as you want. List -> https://pastes.dev/sO9gElGEaE
attributes:
- "TOXICITY"
- "SEVERE_TOXICITY"
- "IDENTITY_ATTACK"
- "INSULT"
- "PROFANITY"
# Settings for words blacklist/whitelist
words:
# Words that will not be analyzed
whitelisted-words:
- "Mate"
- "maté"
- "matate"
- "Joder"
- "ostias"
- "secuestrar"
- "obligar"
- "encerrarte"
- "mierda"
- "maldito"
- "maldita"
- "mierd"
- "cabron"
- "mato"
# Words that will be blocked
blacklisted-words:
- "dumbass"
- "motherfucker"
- "puta"
- "maricon"
# Database settings for chat filter
database:
# Database type: h2 (default) or PostgreSQL
database-type: "h2"
# PostgreSQL host only if used
postgres-host: "localhost"
# PostgreSQL port
postgres-port: 5432
# PostgreSQL database name
postgres-database: "chatfilter"
# PostgreSQL username
postgres-user: "postgres"
# PostgreSQL password
postgres-password: "password"
# Pool size for db
pool: 5
# Connection timeout
timeout: 10000
# Settings for Caffeine cache
cache:
# How much time should be the request be cached in Minutes?
maximum-cache-time: 10
# How much elements should be saved? After reaching the limit will start removing less used setting
maximum-cache-elements: 1000
# Settings for discord webhooks
webhook:
# Enable discord webhooks?
enable-webhooks: false
# Your channel webhook for filtering messages
your-channel-webhook: "YOUR_WEBHOOK"
# Embed colour for filtering message text
embed-colour: "16711680"
# Settings for password checking
password:
# This checks if the password from the player is leaked somewhere on internet
# (WARNING) Only should used if you're using your lobby as auth server
enable-password-warning-system: false
logs-and-messages:
# General settings for messages and debug information
debug-model-response: true
# JSON response information
debug-json-response: false
# Display message when the player has been detected
filtering-detection-message: "&4&lYou can't use bad words on this server"
# Display message d when an user tries to use a leaked password
filtered-password-detection-message: "&4&l⚠ Your password has been found in data breaches, consider changing it."
# Display message when player checks if the word is bad
filtering-message-on-bad-word: "&4The word is not proper, you can get warned by using it!"
# Display message when the word is good
filtering-message-on-good-word: "&aThe word is proper, you can use it without problem!"
# Display message when player floods
flood-message: "&cYou shouldn't flood the chat!"
# Display message when player spams external links
spam-message: "&cYou cannot spam external links!"
TO'S - ShieldCommunity reserves the right to remove licenses if any term is violated.
- You can use your license on the servers you want as long as they are yours.
- We may completely block your license at our discretion without notice.
- You are directly responsible for your license, if for any reason it is leaked you could have consequences.
- A refund will only be given if the product does not work as stated on the product page, other situations will be rejected. Only valid for a period of 7 days.
- Breaking any discord rules such as being racist, disrespectful, disclosing private information will be punished with a permanent ban and removal of licenses.
- You're not allowed to decompile, reverse engine, re-sell or send the software in any of it's form
