Get an Epic Experience with Premium


Chat & Communication Login to Add Favorites
  • World of Warcraft
  • 668 Monthly Downloads
  • Supports: 5.4.2
  • 155,788 Total Downloads
  • Updated 02/17/2014
  • Created 12/04/2009
  • 210 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File:
Support development! **

About SpamThrottle

This addon filters the trade channel and /yells (and all other numbered channels, i.e. /1 through /99) so that any individual message is only displayed ONCE every XX seconds, where XX is a user-settable number with a default of 600 seconds (10 minutes). Repeats are filtered out, as long as the text is similar and it's been less than XX seconds since the last identical message was shown. Repeated spam typically happens when someone has made a macro advertising something and repeats it over and over - this addon ensure that you will only see the chat message once only, unless the person changes their script or macro, in which case the new message is displayed once only. You don't miss any messages, just the duplicates are removed. A fuzzy match filter is used so that even if text is only similar it can be identified as a repeat. The addon is extremely lightweight and is completely self contained.

All of the chat channels and /y are monitored, but non-numbered channels (like /g or /w) are not. Any message repeated on any monitored channel is filtered, even if the message appears first on one channel and then the exact same text is repeated on another. On a very busy server, repeated advertisements for groups and trade items can make the chat channels nearly unusable, as they are constantly scrolling with hundreds of messages per minute - but removing the duplicates can reduce the channel chatter by as much as 80% depending on the server, thereby reclaiming the usefulness of the channels.

The spam can be colored dark gray so that it's easy to ignore (and also so that you can see what the addon is catching), or can be hidden completely. You can reset the filter altogether which clears it's memory and starts it from scratch - allowing you to see all new messages that appear (once) as the filter restarts recording what has been sent, or just depend on the gapping value to show repeated messages every XX seconds. The addon has a default setting to hide all spam; to change to 'color' mode use " /st color " and to change back to hiding spam use " /st hide ". You can also turn off the fuzzy match filter so that only exact matches count, using "/st nofuzzy". Turn it back on using "/st fuzzy". And you can turn on filtering of messages containing Chinese, Japanese or Korean characters with "/st cblock" and off again with "/st nocblock" - default is off.

Credit goes to Yewbacca's ASSFilter addon, which was used as a base for some of the code here.

12/05/2009 - Initial Release

12/07/2009 - Update to handle a potential problem with the way that LUA handles comparisons with uninitialized table elements on different WoW clients, thus potentially creating an "always filter" condition on some clients.

12/08/2009 - Updated to game version 3.3.0

01/03/2010 - Patched a bug whereby the filter was firing for each chat window opening, thus every window other than General was getting marked as a duplicate.  For some people's setup this caused a problem.  Simple fix was to filter messages after they have been seen 7 times, which is the number of times this filter is called for each message.  This may require a more elegant solution in the future.

01/07/2010 - Implemented the more elegant solution to resolve above problem, using an event handler.  Added gapping capability to allow repeated messages to be shown at a user-specifiable frequency (called the gapping value).  Default gap is 600 seconds between repeated messages.  Added a variable updating code to automatically roll saved variables forward from previous versions.

02/03/2010 - Implemented the fuzzy match filter to catch very similar messages, usually as a result of trying to defeat SpamThrottle.  Made this an option so that users can require an exact match.  Also added the /y channel for filtering, since some players were trying to defeat SpamThrottle by using the /y channel in Dalaran.

16/10/2010 - Updated for patch 4.0.1.  Note that this is a working version, but point updates may be required to fix little things here and there if any issues are uncovered.

16/10/2010 - Re-upload to fix file naming problem.
03/04/2011 - Updated the game version applicability (no changes needed)
26/04/2011 - Updated to game version 4.1.
30/04/2011 - Fixed a minor error in the TOC file on the version
30/11/2011 - Updated to game version 4.3
28/08/2012 - Updated to game client version 5.0.4
06/02/2013 - Updated to game client version 5.1
03/04/2013 - Updated to game client version 5.2
27/05/2013 - Updated to game client version 5.3
03/01/2013 - Uploaded to game client version 5.4.x
18/02/2014 - Added optional Chinese/Japanese/Korean character block. Default is off.


First Previous Page 1 of 7 Next Last
  • #113
    Re: SpamThrottle feature request

    It would be great if you would extend the addon to periodically purge older messages out of MessageList on a regular basis?  Basically, every now and then scan through the table and remove any key that was last seen longer than the throttle time ago?

    Right now the table just grows and grows over time, which can be an issue on a busy realm like mine.  Sitting in trade can make this one of the largest addons installed, and most of the comments are not duplicates, but sit there more or less forever.

  • #114

    I'll see what I can do.

  • #111

    Awesome addon. Would it be possible to filter "anal", etc?

  • #112

    An undocumented feature is that thre are a few filters in place like that. It already filters "anal", and "my dick", as well as "Blessed Blade of the WIndseeker", just to catch a few of the more obnoxious ones. The design principle however for SpamThrottle is for it to be very lightweight, and that you would use it in combination with a keyword blocker, so for a more robust keyword filter you should use one of those.

    However as this is a frequently requested feature, I'll have a look if i can get some time - to add a user editable keyword list. In the mean time, if you just want to add a couple simple filters, you could edit lines 229-232 in the spamthrottle.lua file. Each line is filtering for a pattern (in the quotes) and you could easily add additional lines like those for your specific annoyances. Just pay attention to whether it is converting the message to upper case (like lines 229-231) or not (like line 232, the Windseeker one).

    If you accidentally break it beyond repair, remember that you can always redownload it!

  • #110

    Look forward to using this.
    I've uploaded a basic addon, on the other addon site, which prevents me from seeing anything - in trade - that does not include a link.
    Adding this to the mix will make my trade (channel) almost bullet-proof.

  • #107

    I have a fix for the bug where SpamThrottle correctly filters messages in only one chat frame but completely blocks all channel messages in other chat frames. A channel that is not displayed on the chat frame where messages are correctly blocked would be almost invisible (with the exception of the players messages of course) and unusable. While I was at it I also added very basic blocking of anal spam.

    Shall I send you my modifications?

  • #109
    Please send the updated code to me via Curse's PST capability! :)
  • #104
    This is a great addon but it does miss some fairly similar messages...I was wondering if it'd be possible to just flag a user and only have their posts show every X seconds.
  • #105
    Oh and any post with the word anal, murloc, or [Thunderfury, Blessed Blade of the Windseeker].
  • #108

    I actually snuck in an anal and thunderfury filter in the MoP update - they were just annoying me and I couldn't be bothered to download a different addon.  You can go into the .lua file and edit it - do a search for Thunderfury, and you'll see the blocks I put in.  You can add your own if you want - just copy that line of code and put whatever you want in there.  Reloading the UI will refresh the code so you can test it.

    I'm thinking about adding a freeform list that the user can manipulate - you add your own keywords and it blocks them.  I could do that with player names as well.  Stay tuned, but it might be a while - I need to get some time to work on it for that, and my real job tends to cut into my WoW time...

  • #103
    Î also would reccomend to add /emote from player
    sto the spamfilter. Some people seem to spam their emote-macro quite a lot....
  • #102
    if i use the /spamthrottle command to configure this addon, the text is printed partially outside the chatwindow.
  • #100
    does anyone use this anymore since wow limited two lines per spam?
  • #101
    Yes actually. The in-game chat restrictor has the fairly low limit of 1 minute before someone can spam again. Also, it does not throttle /y, only chat channel spam.
  • #97
    I have updated SpamThrottle and uploaded it to Note that it is pending approval, and should be available shortly. You will be able to tell that it's the new one when you see SpamThrottle 2.0 available.

    The issue here was that in patch 4.0.1, Blizzard changed the way arguments were to be passed to event handlers. As of patch 4.0.1, arguments are no longer global and must be passed to the handlers. See for more info.

    I have not yet been able to completely test every possible case, so please let me know if you find anything that is still broken. I'll continue to test of course, but I wanted to get a working version up quickly.
  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Leaguepedia PAX Skin Giveaway