With the advent of the 18.1 patch, a feature was introduced to allow users to completely filter out certain messages from being displayed in chat windows.
The main reason this feature was introduced was to allow users to eliminate credit seller spam from their chat windows. Using the /ignore <username> was insufficient because credit selling spammers would create new accounts constantly to thwart the use of /ignore.
Let's take a look at the basics if the /filter command.
Here are the basic commands to enable, disable and clear your chat filters:
enables the filter.
disables the filter without deleting any of the added filters.
clears all filters
Adding and removing filtered words
Now, in order to do something useful with these filters, you need to add some words that trigger the filter. Here are the commands that add filters:
/filter add <word>
adds a word to the filter.
lists all the active filters
/filter del <number>
deletes the specified filter (where <number> is the line number from 'list'
Note that filters are added to your game client preferences. That means if you add a filter on one character, that filter will be active for all characters on all accounts.
Simple example of filtering any line that includes the word 'bob':
/filter add bob
More advanced stuff
The chat filter supports a subset of regular expressions. AO is old, and so is our regex parser, so not everything will work as you'd expect in a more modern implementation. Escape sequences inside character sets might not work as expected, for example. The most common constructs should work though.
Example that filters various variants of 'egpal', 'plox', 'plx', and 'plz':
That takes care of the main use, but the chat filters not only filter out messages from other players, it can even filter out messages from the system. If you are a "button masher" type of player, perhaps you're sick of all the messages from the system telling you about things you can't do.
Here are examples of other filters you could add to prevent those messages about how much longer you have to wait until you can use a particular special attack.
/filter add Wait for your previous special action
/filter add Unable to perform action