John Mars

03 Mar 2015

My bot is named /u/travel_bot, and it lives all over reddit.

/u/travel_bot starts at an origin point (I picked /r/botwatch), and then goes on a journey through reddit by traveling to subreddits suggested by users.

There were a bunch of difficulties in making the app, first and foremost is reddit’s extremely strict rate-limiting for new users. The waits between the bot’s ability to post (in development and production) are frequently one hour, depending on how much the bot has been posting recently.

Second, reddit also requires CAPTCHAs for new users, especially when it thinks they might be bots. I got around this by using a service that crowd-sources CAPTCHA solutions — AntiGate. It costs about $1.00 per 1000 CAPTCHAs.

Third, the bot has two distinct modes: posting and listening, and it has to be able to keep going from where it left off, if and when it crashes. This is accomplished by using a series of smart loops and python Pickle objects.

It still has some bugs as of this writing that need fixing, and the next step is to create a passport for the bot that gets a stamp applied at every subreddit it visits.

As of this writing, it’s sitting in /r/botsrights, and has visited 6 subreddits so far, at least one of the subs being hardcore-NSFW. I’m actually kind of surprised people are helping it, that is hasn’t been banned, and that nobody has tried to break it yet.

I decided to use reddit instead of twitter because I spend much more time on it, because most of the rest of the class would be using twitter, and because I already have some experience in creating twitter bots.