MessageFilter 0.3.3

Remove, modify or translate any message from any source

  1. fromgate
    This plugin brings to you ability to control message in your chat provided from any source. You can hide annoying message of plugin (forever or using cooldown to display it), change any message to another. You can even use MessageFilter as translation tool for plugins that not provides translation mechanics by itself.


    Why I need this plugin?

    • You would like to hide some spamming message print by plugin you use at your server;
    • You would like to replace one message to another;
    • You going to translate message of plugin but that plugin is not providing you language-file to edit;
    • Hiding messages
    • Replacing messages
    • Cooldown for message (for example, you don't like to lot of same message, and going to see only one of them during one minute)
    • Regex (and other types of string comparison) supported
    How it works
    All rules added to MessageFilter store in files in "MessageFilter/rules" folder. You can add, modify or remove rules using command or by editing rule files.

    Every rule base on some parameters:

    • Type — defines the method which will used to determine text in message (before display it on screen). There are five types:
      • EQUAL — case insensitive compare (Example: "Aaaa Bbbb" will be equal to "aaaa bbbb")
      • CONTAINS — find substring in input-message
      • START — check if message starts with provided text
      • END — check if message ends with provided text
      • REGEX — using regular expression to find matches
    • message-mask — defines input mask, that will used to find matches in original message
    • replace-to — defines replacement. Replacements supports placeholders %word1% ... %wordN% the will be replaced with conforming word from original message
    • cooldown-time — time defined in format similar to time format used in ReActions plugin. Cooldown used to set up time-limit for displaying annoying message. For example, if cooldown time is set to 5 seconds. And "replace-to" mask is empty. Annoying message will displayed only once per five seconds.
    When plugin (or other source) is sending message, this message is controlled by MessageFilter and changed according to defined rules. Player will see replaced message instead of original. This methods allows even to translate a plugins that not provides built-in translation for your language. You just need to find messages and create rules to replace it. Here is rule file example:

    Main command of plugin is msgfilter (aliases: mfilter, filter).

    • /msgfilter help — hmm... h
    • /msgfilter add <RuleId> [GroupId] — create new rule
    • /msgfilter set <RuleId> type|input|output|cooldown|group <Value> — set parameter (type, input mask, output mask, cooldown time or group) to <Value>
    • /msgfilter remove <RuleId> — remove rule
    • /msgfilter list [Mask] [PageNumber] — show list of rules
    • /msgfilter info <RuleId> — display rule parameters
    • /msgfilter save <GroupId> [<Number>|<Time>] — save message into file <GroupId>.yml.
    • /msgfilter reload — reload rules
    • /msgfilter test — test MessageFilter
    Creating rules
    You can create new rules using: command line, incoming chat message and manully editing file.


    Using commands

    1. /msgfilter add newrule
    2. /msgfilter set newrule type EQUAL
    3. /msgfilter set newrule input this is the input message
    4. /msgfilter set newrule output &6this is the output message
    Save incoming chat message

    • /msgfilter save test1 — save next (only one) incoming message to file test1.yml
    • /msgfilter save test2 15 — save next 15 incoming messages to file test1.yml
    • /msgfilter save test2 10m — save all incoming messages during the 10 minutes to file test1.yml
    Manual configuration

    MessageFilter supports multiple rules definition files. It's a "YAML" fie (*.yml) located in "rules" folder. You can edit (or create new) this files manually. Here is example:

    Code (Text):
    roadprotector: # rule Id
      type: EQUAL  # rule type
      message-mask: '&3[RP] &cThis place is protected!' # incoming message (with color code)
      replace-to: '&6Здесь нельзя ломать и строить!'  #outgoing (translated) message
      cooldown-time: '' # cooldown time
      use-formating: true # use formatting (colors)
    removejoing: # rule Id
      type: REGEX #rule type
      message-mask: '\w+ joined the server\.'   # incoming message, I'm going to hide it
      replace-to: '' # Empty line
      cooldown-time: ''
      use-formating: false # ignore formatting
      type: EQUAL
      message-mask: 'You can\'t build here!'
      replace-to: '' # Empty line
      cooldown-time: '5s' #You will see this message only once during the five seconds
      use-formating: false # ignore formatting

    MessageFilter self-test

    You can use command /msgfilter test to be sure that MessageFilter works fine. Just type this command in chat. If you receive message "MessageFilter test failed!" usually you need to install or update ProtocolLib.

    messagefilter.config — only one permission to access commands
    messagefilter.test — perform test of MessageFilter when player joins the server

    This plugin requires ProtocoLib installed on your server.

    Update checker
    MessageFilter includes a update checker that use your server internet connection. Update checker will every hour check the to find new released version of plugin and you can easy disable it: just set parameter "version-check" to "false" in config.yml.

    minez likes this.

Recent Updates

  1. Download link updated

Recent Reviews

  1. Fabri9999
    Version: 0.3.3
    idk why this plugin doesn't works on my server. My server's version is 1.8 And i have the correct protocolib version in my server! Help!
  2. BoshelTuts
    Version: 0.3.3
    Easy and very useful, really nice plugin make my server message more single!

    thanks good job! keep it up!
  3. JasperWorld
    Version: 0.3.3
    You are a genius! This fixed a ton of problems that I had! Thx for making this!!
  4. CWTK
    Version: 0.3.3
    This plugin is great, I can finally hide annoying WorldGuard messages!
    If someone's having problem, don't use words like won't, can't, don't because then it won't work. Basically, don't use '
    If you want multi-lines, just add multiple rules. This plugin is perfect for single lines.
    I prefer using type CONTAINS, because it will work in 99.99% cases. Also, with CONTAINS type, plugin will run smoother and rules will be more stable.

    This plugin can solve a lot of translating problems, so I would be happy, if you will continue with developing this plugin.

    Very big THANK YOU! <3 this plugin!
  5. symvizan
    Version: 0.3.3
    Awesome plugin, I have a problem with it and some suggestions.

    I have a message.
    I replaced the message with another one.
    When I type in my first message, the other one appears.
    But if that other one is multi lined, and is colored, it will loose it's color in the second line.
    Please fix this, it's annoying to add the color symbol before each message!

    1. Make it so I can transfer a message from the chat to the actionbar. I want all my command related messages to appear in the actionbar instead of the chat.
    2. Ignore all player messages.
    3. Be able to only replace part of a message with part of a message.
    The first one would be really handy, I don't really care about the other ones.
  6. GameModeOn
    Version: 0.3.3
    message is not colored why ?
  7. Relinquished
    Version: 0.3.3
    Absolutely fantastic resource. I wish there was some explanation for the different type of messages, but oh well.
  8. Resoluciones
    Version: 0.3.3
    great plugin! working pefect! I've been using is for some time and it's very useful. Thank you very much Developer and keep the good work!
    1. fromgate
      Author's Response
      Thank you :)
  9. Zoagel
    Version: 0.3.2
    Works great! Allows you to change messages that would otherwise be unchangeable with configs. Really saved my day.
  10. basktm
    Version: 0.3.1
    With rubikkit on spigot)