What Is A Bot, Anyway?

(with Adrienne)

Bots are having their 15 minutes, so to speak. Recently, Microsoft launched the “Tay” AI bot and chaos ensued. But bots had already been making a name for themselves on Twitter, on Tumblr, and even on collaboration platforms like Slack or Github. But just because we might recognize a bot when we see it, doesn’t help us understand what’s going on. To make the lives of non-coders everywhere easier, we’ve prototyped an app that can create and configure a vertible cornicopia of bots, no code required.

* For those who are interested in a little more detail, we’ve also created a simple example, an activist bot that echoes quotes excerpts from the Boston Police Patrolmen’s Association newsletter which is…unfortunately surprising. 

What is a bot?

Broadly speaking, a bot is computer program that acts like a human user on a social media platform. Though we haven’t yet seen the passing of the Turing Test by any artificial intelligence, so it is pretty easy to distinguish the humans from the code. Essentially, a bot takes in some information or content from source A (or A + B, or A + B + C, or…well you get the idea), and then potentially transforms it based on rules the developer has given it, and saves the newly crafted content to a database. From here, the bot could also have instructions to share their creation on Twitter, but it’s not a requirement.

Minimum Viable Bot is just Information In, Information Out.

What are the different kinds of bots?

Screen Shot 2016-03-30 at 02.45.59

Bots can take lots of different forms depending on their purpose. Some bots can help you schedule meetings through email. Others are more nefarious, and try to circumvent spam filters in your email or on Twitter. Funnily enough, the hugely popular @horse_ebooks started out as a scam bot, until it was taken over by a reporter from Buzzfeed.

We should note that there is no canonized taxonomy, but we’re going to offer a few informal categories here.

Mash Up Bots:
These bots combine different sources of content and post them.
Example: A bot that tweets out a combination headlines.


Image Poster Bots:
These bots post an image, sometimes with additional information, or generated content.
Example: A bot that posts live TV stills and improvises subtitles for them.

Smart Learner Bots:
Some bots will grow more “intelligent” the more they are interacted with. Smart learner bots require an extra level of human care, as Microsoft learned with Tay. To learn more about ethics in bot curation, Motherboard just posted a great explainer with some of the leaders in social bot technology
Microsoft’s ill-fated “Tay”, who “learned” by accepting as valuable everything that was said to it.


Auto Notifier Bots:
Auto Notifiers listen to a content source, and then perform an action when new content is posted, or something changes. It’s kind of like If This, Then That, the extremely popular service for connecting various web platforms together. These bots are also very common in journalism. They frequently take template text and “fill in the blanks” with the latest relevant information. 

Our demo bot is a version of this kind of bot, because we are not transforming our text in any way. We are simply waiting for a new newsletter to be posted, and then periodically tweeting sentences from it.
Screen Shot 2016-03-30 at 02.34.11
Example: A twitter bot that tweets each time there is an earthquake near L.A.


Replier Bots:
These bots talk to the user based on rules written by the developer. Sometimes this needs to be something the user says directly to the bot, and sometimes these bots will tweet at someone in reaction to something that’s been said. Many platforms (e.g. Twitter) have
rules for keeping these bots on their best behavior.
Example: A bot that takes nouns from your tweets and turns them into tributes to deities.


Expert Bots:
Much like the phone trees, these bots may either offer (semi-) useful information, or take responses and decide what to say next based on them. These bots can also sometimes be found on e-commerce sites with services like Live Chat. The bot will help to quickly sort the chatter for a human.
Example: The Bank of America customer service bot.


Where do bots live?

  • Email
  • Github
  • Slack
  • Twitter
  • IRC
  • and many more!

How do bots work?

Bots typically have a place where they get their content from. In some cases, this may be a very advanced system. In the case of our demo app and bot we simply feed in a web address pointing to our desired content, and it will post sentence by sentence is located.

Screen Shot 2016-03-30 at 02.42.08

With any program that deals with a large amount of data, most of the work is typically in cleaning up the data so that, e.g. in this case, what the bot says is correct.

Screen Shot 2016-03-30 at 02.42.15

Some bots will try to detect what is relevant in the data you feed it. Some will simply take the data and reproduce it without a second thought. Tay’s “repeat after me” feature did this, to disastrous effect.
Screen Shot 2016-03-30 at 02.44.32

It’s common for one person, once they have acquired the skills, to make and manage many bots! To see this ailment in action, have a look at the work of the wonderful Darius Kazemi!

To end, here is an example of the code that would run our bot that tweets out random sentences from the Boston Police Patrolman Association’s newsletter. This script would typically be set up on a server and run on a schedule.

Screen Shot 2016-03-30 at 01.46.03

It may not have been as complicated as you thought to build your own bot! If you would like an even more automated route, have a look at the article How To Make A Twitter Bot with Google Spreadsheets.