BungeeChatFilter 1.5

Filters chat and performs actions for all BungeeCord servers based on defined regular expressions

  1. bloodsplat
    Bungee Chat Filter
    v1.2
    Description:
    Bungee Chat Filter is a BungeeCord plugin designed to monitor, filter and edit a players chat before it even makes it to the server. BCF matches regular expressions against the players messages and performs specified actions on the message depending on what the server owner has specified in the config.

    Features:
    • Filter chat with regular expressions.
    • Custom permissions for any command
    • Cancel a players chat when a rule is matched.
    • Kick a player when a rule is matched.
    • Message a player when a rule is matched.
    • Send a proxy wide broadcast when a rule is matched.
    • Make the player send a command to the server when a rule is matched.
    • Make the player send a command to the Proxy when a rule is matched.
    • Remove certain words from the message
    • Replace words from the players message with a random word from a list
    • Remap your commands
    Installation:
    1. Download BungeeChatFilter.jar
    2. Place the jar into your BungeeCord plugins folder
    3. Run BungeeCord
    4. Edit the generated config to your liking
    5. Use the reload command /bfreload in the Bungeecord console or in game if you have permissions.
    Permissions:
    Permissions are to be set via BungeeCord
    • bungeefilter.reload - allows the player to reload the config
    • bungeefilter.bypass - allows the player to bypass the filter checks
    • Custom permissions set by you in the config
    Example config:
    Code (Text):
    ##########################################
    ##                                      ##
    ##      Bungee Chat Filter Config      ##
    ##              v1.2                  ##
    ##########################################
     
    #Monitor commands - Monitor commands send by the players as chat
    Monitor Commands: true
     
    #Commands - The list of commands that the plugin will monitor
    Commands:
        - msg
        - message
        - tell
        - whisper
        - w
        - g
        - global
        - s
        - l
        - local
        - hub
     
    #AntiSpam - Will use the minimum chat delay to force players to wait *1500ms or what ever you specified between messages
    AntiSpam: true
    #Minimum-Chat-Delay - The time in miliseconds a player must wait between messages
    Minimum-Chat-Delay: 1500
     
    #Rules - Groups of rules which monitor the chat
    #rules:
    #  rulename:  - the name of the rule
    #      regex:  - the string regex that the rule will check for
    #      ignores:  - If the message contains a value that matches ignore then none of the actions will be performed
    #      permission: - the permission required to bypass this rule
    #      actions: - here is the list of actions the rule will perform if matched
    #          deny: true      - this will deny the message and cancel the event
    #          message: (message)      -this will send a message (message) to the player
    #          kick: (message)    - this will kick the player with the (message)
    #          alert: (message)        - this will send a broadcast to the server {player} will be replaced with the players display name
    #          command: /(command)    - this will cause the player to send the (command)
    #          remove: true        - this will remove any matches from the players message
    #          replace:              - this will replace the matched word with a random word from the list below
    #              - word1
    #              - word2
    #          lower:            - this will change any matches into lowercase
    #          pcommand: /(command)    - Proxy command, this will cause the player to send the (command) to the proxy server
    #          scommand: /(command)    - Server command this will cause the player to send the (command) to their current server
    #          ccommand: /(command)    - Console command, this will cause the proxy server console to execute the (command).
    #                                      Note that there is currently no way to execute a command as the current server console.
     
     
    rules:
     
    #Filters the word fuck and replaces it with a random word from the list
        swearfilter1:
            regex: (?i)(f+u+c+k+|f+u+k+|f+v+c+k+|f+u+q+)
            actions:
                replace:
                    - fudge
                    - frack
                    - funk
                    - fork
     
    #Filters the list of swear words below and replaces them with a random word from the list. Uses a list as the regex
    #The first item has (?i)(cunt to make the generated regex case insensitive.  The last item must end with a )
        swearfilter2:
            regex:
                - (?i)(cunt
                - whore
                - fag
                - slut
                - queer
                - bitch
                - bastard
                - dick
                - gay)
            actions:
                replace:
                    - lovely
                    - sweetie
                    - sexy
     
    #Filters the word nigger and denys the chat even while kicking the player and alerting the server why the player was kicked
        swearfilter3:
            regex: "n[^a]gg+(a|er|uh)"
            actions:
                deny: true
                alert: "{player} has been kicked for racism"
                kick: "You have been kicked for racism"
     
    #Replaces the word bloodsplat with a coloured word if they have permission for colours and a chat plugin on the server that supports colors.
        colorReplace:
            regex: "bloodsplat"
            actions:
                replace:
                    - "&cBloodsplat"
                    #Will only work if the player has permission for colors on the servers chat plugin.
     
     
    #when a player asks for op they will instead say one of the following from the list and be sent a message
        askforOP:
            regex: "(?i).*give me op.*|.*can i have op.*"
            actions:
                replace:
                    - Can you please ban me
                    - I use xray!
                message: '&cPlease don''t ask for OP'
     
    #When the player uses 4 or more letters in a row all in caps lock then the message will be changed to lowercase
        CAPSPAM:
            regex: (\p{Lu}|\s){4,}
            actions:
                lower: true
     
    #Removes magic, bold and italics from the players chat when they dont have the bungeefilter.antiformatbypass permission.
        AntiFormatText:
            regex: '&[k-o]'
            permission: bungeefilter.antiformatbypass
            actions:
                remove: true
                message: '&cYou do not have permission to use Format text'
     
    #Removes color from the chat unless the player has the bungeefilter.colorbypass permission
        AntiColorText:
            regex: "&[0-9 a-f]"
            permission: bungeefilter.colorbypass
            actions:
                remove: true
                message: '&cYou do not have permission for colors'
     
    #Replaces all ip adresses and web addresses unless it matches the ignore list regex
        AntiAdvertising:
            regex: \b\d{1,3}+\p{P}*\d{1,3}+\p{P}*\d{1,3}+\p{P}*\d{1,3}+\b|([\w-\.]+)((?:[\w]+\.)+)([a-zA-Z]{2,4})
            ignores: (\w*\.)*(minecraftserver\.com)(/\w*)*|(\w*\.)*(google\.com)(/\w*)*|(\w*\.)*(youtube\.com)(/\w*)*|(puu\.sh)|(\w*)\.png|(\w*)\.jpg
            actions:
                message: 'Please don''t advertise'
                replace:
                    - minecraftserver.com
     
    #When a player uses the command /hub they will instead cast the command /server hub to the proxy. Denies the command so /hub isnt also sent
        CommandShortcut:
            regex: /hub
            actions:
                pcommand: /server hub
                deny: true
     
    #When a player uses the command /shop they will instead send a command to the server they are on /warp shop.
        CommandShortcut2:
            regex: /shop
            actions:
                scommand: /warp shop
                deny: true
     
    #Creates a proxywide broadcast command !bungeefilter.broadcast means the player needs the permission for the check to work
        CreateCommand:
            regex: /broadcast
            permission: "!bungeefilter.broadcast"
            actions:
                alert: '&5[Broadcast]&a{player}&f:{arguments}'
                deny: true
     
    #Shortcut for website URL can use either /url or /website
        CreateCommand:
            regex: (/url)|(/website)
            actions:
                message: "&l&6[Check it out]&3 This server's website is &6www.minecraftserver.com"
                deny: true
    Thanks to pwnfilter for a few of their regex rules :)

    Source:
    [​IMG]

Recent Updates

  1. BungeeChatFilter 1.5
  2. 1.2b6
  3. Bungee Chat Filter 1.2

Recent Reviews

  1. namke
    namke
    4/5,
    Version: 1.5
    Is it possible to set bungeefilter.bypass to a specific server in bungeecord? So not all servers connects to the filter.
  2. Gh0stiiik
    Gh0stiiik
    4/5,
    Version: 1.5
    Hi, i have problem. Its there option to monitor classic spigot/bukkit chat?
    100characters
  3. omermarvel
    omermarvel
    4/5,
    Version: 1.5
    i need help for how to make newline
    %nl%&8[&c
    %nl% not working how to make newline
  4. LegendaryPvp
    LegendaryPvp
    5/5,
    Version: 1.5
    Very, very nice. Awesome for my BungeeCord network!!! Thank you!

    - 100 Characters -
  5. BluTag
    BluTag
    4/5,
    Version: 1.5
    Very nice plugin. 100 Chars.............................................................
  6. Addicted2
    Addicted2
    5/5,
    Version: 1.5
    Hello, can you make it work for Watterfall 1.12? Thanks for this, i'm using sincer 2013. Best one!!!
  7. MirIstAllesEgal
    MirIstAllesEgal
    4/5,
    Version: 1.5
    The best plugin I've ever seen! But could you add that you can also ".eu | de | at | me | nl | and so on?
  8. SebliYT
    SebliYT
    5/5,
    Version: 1.5
    Nice Plugin, funktioniert echt super und bis jetzt ist noch kein fehler aufgetreten. Gute Arbeit !!!
  9. Karpatz
    Karpatz
    5/5,
    Version: 1.5
    awesome plugin !!! You can create your own rules, perfect ! works with a lot of bungee messages plugin , Thx !
  10. Golicraft
    Golicraft
    5/5,
    Version: 1.5
    GREAT PLUGIN! Can you add custom antispam message then this is 6 stars
    THANKS :D :D D :D :D :D :D :D