Global Ignore List and Chat Spam Filter
Note: The Classic version is here: https://www.curseforge.com/wow/addons/global-ignore-and-spam-filter-classic
Global Ignore is a quality of life addon that provides a greatly enhanced (unlimited) character ignore system, and a robust chat filtering engine to eliminate sellers/spammers, guild recruitment, community recruitment, trade skill spammers, Mythic + sellers, annoying trends like Thunderfury, non-Latin text, and more. All of these can be enabled or disabled as you please or you can even create your own using a custom designed filter creator.
Global Ignore will also add quality of life enhancements to the UI, like warning you if you are grouping with ignored players, enhancing your LFG tool to show which players running groups are on ignore and why, or automatically declining group invites and duels from ignored players
- Unlimited ignore list size, synchronized across all characters, factions, and servers
- Account wide ignore system
- Ability to ignore players, NPCs, monsters, and entire servers
- Ability to set notes for ignored entries, expiration times for automatic removal from ignore, and list pruning
- Chat spam filtering with robust chat spam filter editor, allowing players to create their own custom filters.
- Default spam filters catch the majority of gold sellers and spammers (defaults for English servers) including gold spam, Guild recruitment, community invites, Asian languages, and so on.
- Warnings to prevent inviting or being a member of a group with a player on your ignore list
- Automatic decline of duels and party invites from ignored players
- Greatly improved UI over the default
- Enhancements to existing UI such as being able to ignore by right clicking target or from raid frames
- Small and efficient created with pure WoW API only (no libs like ACE)
Type /gi (or /gil or /gignore) in game for chat help, or open your ignore list for features and options
NOTES AND KNOWN ISSUES:
- Unfortunately I cannot add guild-wide ignores. Blizzard does not supply guild information with the chat data and they've limited the ability for addons to collect their own data on guilds (Census addons were causing server lag). If I can find a way to do it properly in the future I will try to add it in.
- There is a bug where WoW sometimes reports all members of the ignore list as "Unknown" during login which prevents GIL from synchronizing your character ignore lists. If this happens, GIL will print a message during login and then attempt to synchronize when you open the GIL UI. You can also force a sync by a chat command line.
- There is an issue where WoW reports the wrong server name when ignoring someone from right clicking chat. When a character with no server name is reported, GIL will search the members of your current raid, battleground, instance, and so on to try to find someone with that name. It will check your chat tab history and search for any reference of the name in order to determine the server. If no data is found during this search, GIL will ultimately assume the person is on your server.
- Account wide ignore only works for up to 50 accounts per character due to a WoW limitation. GIL uses logic to select the "best" 50 players on a per-character basis, in an attempt to maximize usefulness of account wide ignore limitations. No other ignore addon can do this. This is significant because it prevents you from messages, duel requests, being grouped in a dungeon, BG, or LFR queue system for not only their main character but for their alts that you don't know about too. GIL will also perform all of those same checks and warnings for non-account wide ignore.
HOW TO CREATE SPAM FILTERS
GIL has a series of default spam filters that will be periodically updated as new annoying chat spam is encountered, but it also allows you to create your own custom chat filters! Filters can be edited by double clicking them, or added and deleted with UI buttons. Each chat filter consists of a series of tags which define what to "search" for in each chat message. When one of these tags is "TRUE" in a chat message, then the message will be filtered. The filter system also allows for built in logic to create complex filters, but more on that later.
Tags are enclosed within  characters and can be used to filter items, spells, achievements, word matches, partial word matches, and any link. The following tags are available to perform each of those types of filtering:
The word tag looks for a whole word within the chat message. The word to search for must be provided within the tag with an equals sign such as: "[word=anal]".
Word and partial word matches are case insensitive, so ANAL anal and AnAL will all match the tag shown above.
The contains tag is similar to the word filter, but performs a partial match of a word instead of a whole word match. If for example, you see people spamming analanalanal [Thunderfury], then you might want to add a tag with something like [contains=analan] so that it will catch people who do that sort of spam.
The link tag matches if the chat contains any linked content at all, which can mean a spell, item, achievement, etc.
The spell tag allows one to filter out specific spell links or all spell links from chat. If the spell tag exists with no equals, then it will filter when the message contains ANY spell link at all. For example "[spell]". If the equals sign is provided and followed by a Spell ID, then only that specific spell ID will be filtered. Such as "[spell=17]" would filter any message with the Power Word Shield spell linked in it.
The item tag allows one to filter out all item links or specific item links. This tag works in the same way that the spell tag does. For example "[item]" will filter if any item at all is linked, whereas "[item=19019]" would filter any chat message that contained a link for Thunderfury.
The talent tag works just the same as the spell and item tags.
The achievement tag works just the same as the spell and item tags. For the sake of trying to keep this short and refer you to the item and spell examples above.
The pet tag works just the same as the spell and item tags. For the sake of trying to keep this short and refer you to the item and spell examples above.
The icon tag allows filtering based on raid icons in the chat text. The "[icon]" tag by itself will result in a filtered message if the chat message has any icon at all in the text. A number can also be provided to filter based on if a message has a specific number or greater of raid icons. For example "[icon=3]" would filter if the message has 3 or more raid icons in it.
This tag allows filters to be created to filter out community Join requests. No other data is used for this tag; If you wish to filter anything that contains a Join request, simply include this tag
This tag allows filters messages that contain Chinese/Japanese/Korean characters for those who play on English servers that have a strong native Asian speaking community
This tag allows filters to test that a line of text contains only a specific number of words. For example: [words=2] would be true only if the text contained only two
This tag allows filters to test that a line of text sourced from a specific channel number. For example, channel 1 would be zone, 2 would be city/trade, and so on. If you wanted a filter to apply only to trade chat you could do "[channel=2]" somewhere in your filter.
SPECIAL CHARACTERS AND SPACES IN FILTERS
Spaces can be used in a [Contains] tag by escaping the character by putting a forward slash before the space (\). Other characters can be escaped the same way: parenthesis (), brackets , and backslash. For example:
Here are some other examples:
\( would mean (
\) would mean )
\[ would mean [
\] would mean ]
\\ would mean \
USING LOGICAL EVALUATION:
Chat filters can include some logical evaluations by enclosing tags within parenthesis and using Boolean "and or not" keywords. This is really what can tie everything together and allow for some pretty nice filters to be created. For example, here is the default "Anal" spam filter which comes with GIL:
([word=anal] or [contains=analan]) and [link]
The parenthesis and the or keyword allow the filter to specify that if the chat message has a complete word match of "anal" OR it contains a partial word match with "analan" AND the chat message contains any link meaning any item spell or achievement, then the filter is TRUE and the message will be filtered by GIL.