My Robot Will Fight Your Robot

Spam on Twitter feels like an all-time high right now. Twitter itself is woefully horrible at taking reports of abuse and spamming and all a user can do is use the completely un-fulfilling "Report Tweet" option to block the user. When they spam hashtags, companies create robots faster than you can report.

Twitter spam is out of control.

MMSG.net (I'm not linking because I don't want to give them any web traffic) has been spamming the #flipclass hashtag for months on end. The problem is that they do it through bots with randomly-generated, vaguely eastern-European-named "users." The feed is filled with junk and blocking individual users doesn't make much sense because they just make more users.

Twitter spam is out of control.

I use Martin Hawksey's fantastic Twitter Archiving Google Sheet (TAGS) script to grab tweets for conferences, archiving, and just playing around with data visualization. It's now my own personal robot for fighting other spam robots.

This one doesn't spam, though. It reports the spam.

Twitter spam is out of control, so I build a robot.

The TAGS library is incredibly powerful...it relies on the TwtrService library created by Google which allows you to interact with the Twitter REST API, which means if you can get a user's information, you can then send it back through a Google Script to report the tweet.

I watched these MMSG.net bots and realized the all have the company website in their profile. My robot now has a weapon.

My robot will fight your robot.

With some help from Martin, I added a line to the core TAGS code library which grabs the user's profile URL and puts in into the archive.

2015-10-15_15-13-19

Then, I wrote a second script which scans through the archive looking for the URL.

Then, I used triggers to run the script every hour. It clears the archive, grabs whatever tweets were sent during that time, and then reports those that match the key. All day. Every day.

My robot will fight your robot.


Featured flickr photo shared by kurichan+ under a Creative Commons ( BY-NC-ND ) license

Leave a Reply

Your email address will not be published. Required fields are marked *