I’ve created Reddit scripts in the past, before the API was well documented, but never an actual bot.
I heard about PRAW and really wanted to create a bot, so I started with the simplest: a spell-checking bot name MayhapsYouMeant. It’s not so easy to create a list of misspellings since one misspelled word might have multiple corrections. But out of the hundreds of comments every minute, I’m bound to find misspellings even with a short list.
Some people really get angry when you correct them. I didn’t make this to feel better than them. I think it’s a good thing when I get corrected. I can’t tell how many times I’ve spelled seams when I meant seems before somebody corrected me. A spell-checker won’t tell you that because seams is a real word.
The Python script simply gets about 100 of the newest comments every 30 seconds and checks if there are any clear-cut misspellings. Every 5 minutes I post the most recent. Since people don’t like to be corrected I thought it best to be apologetic so my text was:
I’m terribly sorry, but did you mean “{CORRECT}” instead of “{WRONG}”?
People didn’t like the initial comments. So I thought I should be even more apologetic… and also less monotonous. I remembered the Kant Generator from my early Python days and created this grammar file for it.
What I learned from this is that the journey of programming the bot (well more of a walk) isn’t the interesting part, the responses you get are. I’ll split them the traditional way.
The Ugly
Some people don’t believe it’s a bot, but rather that I’m a loser with nothing better to do.
The bot can’t detect a user’s intentions so it sometimes ends up correcting people when they are joking:
THIS IS NOT THE TIME GODDAMMIT, HE/SHE IS TRYING TO BE WITTY. JESUS FUCK
I didn’t check for block quotes, so it was correcting the wrong people.
The Good
You’re adorable. — time146
awww, so polite and apologetic. what an adorable bot. <3 — ekrej
This better become a thing, i want to see you around more. I enjoyed that vey much. — mechanistic6
Everybody seems to think I’m Canadian:
Canadian bot?
The Bad
Some people really, really hate it:
it’s funny that the bot had to correct relevant when the stupid bot itself is never relevant to any post. and prefacing a bot with being sorry, wtf is that about? no, if you were sorry, you wouldn’t be here. I’m terribly sorry but here is a bullet in the head. see how that works? just freaking park the thing and chat on reddit like a normal person. or make a circle jerking bot subreddit where everyone’s bots jerk to each other.
Body builders don’t like to be told what the correct spelling of dumbbell is.
Conclusion
All in all, the bot is making way more comments than I could keep up with and it’s getting a lot of karma. It took me about 2 years to get as much karma on my first Reddit account as the bot did in 3 days.
I’m no longer running it now since I want to improve it and put it on GitHub.