Earlier this year I decided to look at building a twitter bot. I did this for two reasons, one to brush up my skills and learn some Node.js. Two being a big twitter user I thought I should get a better understanding of their api. For those of you in the know you’ll already understand the power of Node to build realtime light weight applications. So bundling the two into one project made sense. This isn’t going to go into how I built it that will be another article. This just details what it did and what I learned while its was running.
The bot behaviour
I created a persona on twitter called Mr Tibbles he’s a know it all cat that defends others of his species from ridicule on the net. Its a pretty simple concept that I knew would get some traction given the internets obsession with cats
I created the bot so that it would search twitter for three simple phrases ‘stupid cat’, ‘evil cat’, ‘dumb cat’. Each time the bot found some one using this phrase it would reply to them.
Some times with interesting facts
— Mr Tibbles (@_Your_Cat) August 21, 2014
some times with terrible terrible jokes.
— Mr Tibbles (@_Your_Cat) August 18, 2014
These were selected at random from a massive text file I knocked together. The bot had a pretty simple purpose and worked well but it wasn’t long before I hit into problems.
With any project you expect to run into some difficulties, the first of these was twitters api itself. When I first switched the bot on it went crazy and started firing out tons and tons of tweets I switched it off pretty quick but not before the account was banned for excessive tweets. This would become a bit of a theme. There were quite a few times where they detected it was a bot and shut the account causing me to have to go in and reset the profile. This isn’t that much of a problem but I could imagine if your running a load of these it would be annoying. The next problem was actually finding the tweets while I had chosen pretty well used phrases the bot quickly started sending multiple messages to the same user. Once maybe be cute, twice annoying but anything more is bordering on stalking. So that had to be tweaked I ended up checking each of the three variables once every fifteen minutes. So it would leave a 45 minute gap between checking each one. This worked really well and only very rarely sent two messages to the same user.
When I started doing this I expected to get two reactions either people would find it funny or they would hate it. The thing that surprised me the most was how many people replied to it. It had levels of interaction that are the dreams of most marketers. We’re talking about 85% + users really liked interacting with the bot and honestly, I became a little obsessed with it.
@kpteasdale I'm a cat not a bot
— Mr Tibbles (@_Your_Cat) August 8, 2014
Theres me replying to someone who replied to the bot. Since I had the profile on my phone every time someone replied I’d get a little notification. When I would wake up in the morning I may have 20 – 30 of these to go through. Other people would react with anger which is totally understandable. Men would sometimes react positively and some would be negative. The ones that reacted negatively would actively start arguing with it. Most of the points strangely seemed to be based on the fact that there was no way that a cat could tweet. For some reason I found this really amusing and the arguments would quickly devolve into “Your not a cat” and me replying “yes I am”. Women were overwhelmingly positive replying, joking and sometimes even flirting. And then there was the uncomfortable encounter with a group Furries, but lets not go into that one.
While is started off as fun it quickly became trying. People were replying very often and I felt that I couldn’t ignore then. Because the bot had ultimately intruded in there feed. This was just meant to be a fun little experiment in coding something quick and seeing what happened with it. So when people interacted with it I felt the need to at least reply.
What did I learn from this experience? I got to do some Node and became more aware of the twitter api. I found that people are more willing to interact with a digital entity that I ever thought. That users are more savvy about what bots are able to do and even though some acted aggressively towards it others were genuinely excited to be contacted by it. Am I happy when a bot contacts me on twitter? Not always but there are some great examples such as Stealth Mountain. That corrects user usage of sneak peek. Or Your in america. Another grammar corrector that gets users not knowing the difference between your and you’re. These are fun and don’t have an ulterior motive. They aren’t marketing something or trying to get a users opinion on a subject. They just exist as a fun little diversion. Which is sometimes all people want from the internet.