The #GamerGate #WombleBot, no one #GGAutoBlocker to rule them all!

EDIT: Since some people actually signed up to the #WombleBot it has been pointed out that it blocking the “SJW” side of GamerGate is a bit annoying, to those blocked and potential subscribers. So I’ve changed the bot to not block people opposing GamerGate, sorry gators!

So, in my last post I described a method for monitoring all the tweets on GamerGate and did some initial analysis. I also spoke about how it might be interesting to use the data gathered. Thinking of ideas I browsed the hashtag, seems some GamerGate people are all up in arms about being blocked by the ggautoblocker, theblockbot and blocktogether. Never ceases to amaze me how censorious GamerGate people are, they claim to stand for freedom of speech, but when an “SJW” says the mildest things they lose it. When an “SJW” blocks them it seems this hypocrisy knows no bounds. They are apparently talking of using the law to stifle others freedom to block them. Unfortunately I have some bad news for them, the anonymous freedom that allows many in the GamerGate “movement” to abuse and harass people w/o consequence also allows us to create blocking tools. They really are fighting a battle it is impossible to win. So, I thought, how long would it take me to replicate the ggautoblocker should they take it down with teh legalz? About an hour of coding it seems … Fear the WombleBot! In the interests of fairness and frankly a deep and abiding personal boredom when it comes to the content on “GamerGate”, this bot is very “balanced”. Almost the tone troll bot rather than the Womblebot as it doesn’t single out GamerGaters for blocking…

  • It blocks anyone who has posted in the GamerGate tag over the last week, or rather the top 3000, which is nearly all of them. Obviously unless you follow an account, as it utilises under the covers like the ggautoblocker.
    • NOTE: Since the addition of a white list it doesn’t block anyone I follow, or who a few other accounts follow, to reduce the possibility of false positives. Also any ones found will be unblocked and blocktogether will propagate those unblocks out as well!
  • It unblocks everyone who has not posted in the GamerGate tag in the last week, meaning people who give up on either prodding them, or joining in with them, will be unblocked after a week away from the mill stone.
  • It runs every hour, so it is constantly adding the newest people posting to GamerGate, blocking them immediately. Also unblocking those who find a new hobby and leave the tag behind.
  • By focussing on the top tweeters, it will better keep up with the blocks than larger unwieldy block lists.


sign up

to the fabulous #WombleBot, helping you to block out #GamerGate, all of it! … Seriously GamerGate people who are pro-censorship of blocking tools, has this not shown you how ridiculous your crusade is? In the extremely unlikely event you are successful and get rid of one of the three main tools, someone else will create a new one over a weekend and run it anonymously. for example is all open source, not sure about the others, but after a clone on a server I could have it up and running in days. So get over it, some people don’t want to talk to you, no need to get all “professional victim”y!

(Note: The white listing has much reduced this possibility, But… If you are planning on using this it can block your followers if they post in GamerGate a lot. Obviously if you follow them back then no problem, but be aware!)

Technical Stuff… (Too lazy to open source this, also it is hardly rocket science! Quite likely buggy as hell too) I’m assuming you all have Python, no self respecting SJWomble would be without it. So set up for your python environment …

easy_install elasticsearch
easy_install twython

Now for the code, fairly self explanatory if you know a bit about Python, Twython and ElasticSearch… Key things to note are in the ElasticSearch query, it gets the top 3000 tweeters to #GamerGate over the last week. Once you get below 2000 you are into people tweeting once or twice into the hash. No where near the core of the “movement”, so it could probably be even less.

from twython import Twython, TwythonError
from datetime import datetime
from elasticsearch import Elasticsearch
es = Elasticsearch()
import datetime as DT
today =
week_ago = today - DT.timedelta(days=7)

# Need to use your own key here of course, not mine, that would be rude.
twitter = Twython("sVfQs4KftnKfeAjL05ginjDrJ", "ViEtKJuvVQsasY2caBQJpEo0LjOcuZkMSKqSB9Qm3Io5GwEFta",
"5233375335-pAgLYpWoEry2mLK15SDrr3kQOFsxCmAsyf2724D", "DyszWb3aWsCL3RezTVpnN8E64i0uKvFiWu48ZSqtVQVTr")

# Get me blocks
  blocks = twitter.list_block_ids(screen_name='sjwomble')
except TwythonError as e:
  print e

# Get GamerGate'ers, top 3K from last week
result =
body={"size": 0, "query": { "filtered": { "query": { "query_string": { "query": "*" }},
  "filter": { "bool": { "must": [ { "range": { "@timestamp": {
  "gte": week_ago,
  "lte": today }}}],
  "must_not": [] }}}},
  "aggs": { "2": { "terms": { "field": "user.id_str", "size": 3000, "order": { "_count": "desc  "}}}}}

ggers =[]
# Extract ids
for bucket in result['aggregations']['2']['buckets']:
for block in blocks['ids']:

#DIff, unblock those no longer posting. Any blocks not in the list of gators?
to_unblock = []
to_block = []

to_unblock = list(set(my_blocks)-set(ggers))
to_block = list(set(ggers)-set(my_blocks))

# Loop and block / unblock ... Job done!
for block in to_block:
    result = twitter.create_block(user_id=block)
  except TwythonError as e:
    print e
  print "blocked user ", block

# Loop and unblock any that have stopped posing in the tag
for block in to_unblock:
    result = twitter.destroy_block(user_id=block)
  except TwythonError as e:
    print e
  print "unblocked user ", block

# The End ...

For top people posting in GamerGate, 3000 is more than enough, last 1000 or so have made only a few tweets in the last week. Mostly it is less than two thousand people who are active week by week in GamerGate on Twitter. (Note: The observant will notice the index is called “logstash” and I promised I was using fluentd, well I am, it just so happens fluentd calls the index that with the Twitter plugin for some reason!)


6 thoughts on “The #GamerGate #WombleBot, no one #GGAutoBlocker to rule them all!

  1. Isn’t that adorable. Let’s block dissenting opinions because it might hurt our fee fees. You realize doing that things like this make you look incredibly weak to the point where I feel pity for you. The fact that you don’t have enough courage to actually fight back is astonishing. Well, I’m glad I don’t use that cancer of a social media network that is Twitter. Wouldn’t want to “offend” anyone. Buwahahahaahhahahaha


    1. Glad it’s adorable, but the tone of the rest of your comment makes me think you don’t know what that word means.

      BTW no one can block “dissenting opinions”, anyway I thought GamerGate was diverse and had no common “opinions”? Certainly no new or unique ones!


  2. You almost had integrity for a second and then you caved and said “No wait, you still need to hear about Gamergate! But only our side!”

    If your bot was so “fair” then you wouldn’t need to alter the rules and just turn it into another general “anyone who we think maybe might be pro” and give special privileges to the harassers on your end. If you’re gonna make a bot that bans Gamergate, you make it ban ALL of the tag, not handpick your little friends who get to be the exceptions. Otherwise you might as well call this what it is – Hugbox Bot.

    For the record, GGs issue isn’t with “people talking to them”. It’s with you guys desperately promoting these things and them being used either by corporations to silence large parts of their consumer base when they do something questionable (imagine if a company made a transphobic comment and then used a bot to block ALL transgender people on Twitter as a response because they didn’t like the complaints) OR they block very high ranking members of the industry often for mundane and ridiculous reasons. The common GGers isn’t effected by this. We just continue to care about the potential effect such a thing could have on another person’s life because we, y’know, have empathy.

    Even your algorithm, while a lot better than Harper’s and definitely more logical, is flawed, in that any random person you don’t know could use the tag, perhaps not knowing what it is, and wind up on this block list. A well known person could use it just to have a discussion, without endorsing or decrying it, and end up on your list. By the time you catch it, the damage is done. Though I doubt many people will use this list in the long run.

    Think about how you would feel if some idiot made a block bot specifically for every gay person or liberal minded person or Muslim person on Twitter. And if they told those groups “Well get over it. Not everyone wants to listen to you”. And don’t give me this “Well oppression”. Gamergate isn’t in power here. The industry tenuously ignores it, the media is constantly bashing it, when we’re harassed, no matter how seriously, it’s completely and utterly ignored (I’ve had one particularly persistent anti go after a site I write for after abusing my friends and if I didn’t desperately hide my full time employment, she’d likely go after that too, and she continues to libel and harass me from behind a block, and despite reporting her a thousand times, and asking some more reasonable antis to talk to her, nothing has been done. But you don’t see her on any anti-harassment blockbots). Gamergate is not the oppressor her. By your own logic, oppression requires power. Gamergate has little to none – it’s YOUR types dominating the media. So using your own logic, making a block bot for Gamergate is like making a block bot against any other group who’s frequently silenced.

    I’ve already had people try to silence me for being gay. For being left-wing. For being atheist. For opposing a status quo. I’ll be damned if I’m gonna just happily take your “some people don’t want to listen to you” as the end all here. Because I’ve heard it before, and the people who say that shit have universally been the exact people who need to be listening.


    1. The bot is opt-in, so your point is rather moot. Unless you want to deny people the right to opt-in to block some Twitter accounts. That is freedom too…

      No one can silence you by just choosing to ignore you.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s