1646: Twitter Bot

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
Twitter Bot


A Twitter bot is a program that can post automatically to Twitter. Although Twitter bots can be very elaborate, a lot of people write simple bots for fun that simply engage in automated wordplay.

Cueball thinks he'll write a Twitter bot, figuring out it won't be too hard. The web searches he makes tell what happens next, i.e. the bot balloons in complexity until it starts following its own goals and Cueball no longer has any control over its actions.

This comic examines how a seemingly simple task can often balloon in complexity if all of the requirements are not understood, while at the same time presenting the stereotypical scenario where an unassuming idea results in the accidental creation of malevolent AI, which then attempts to destroy humanity.

The story, as told by the web searches, is as follows:

Query Explanation
How to write a Twitter bot Cueball has no idea where to start, so he just searches for basic advice on writing generic Twitter bots.
Python Twitter library The Python programming language has a nice library that interfaces with the Twitter API. This does all the tricky work of authenticating the bot's identity and sending the messages, so the user can concentrate on the fun parts.
Machine learning Machine learning is the basis of artificial intelligence.
Cloud hosting While it's possible to host a Twitter bot on your server, you can also have it hosted by someone else - such as Amazon - in order to take advantage of their powerful computers and robust internet connection.
Bot troubleshooting Cueball is having some trouble with his bot and is looking for some information about resolving the problem.
Locked out of EC2 instance EC2 is a hosting service by Amazon that allows users to run their code in the hosting server. Cueball was running his bot from EC2, but now he's unable to access his account. He's searching for advice on how to regain access.
Bot changed own password? Cueball is suspecting that the reason he can't access his Amazon EC2 account is that the bot has changed the password without Cueball's knowledge or consent. Since the bot was never programmed to change any passwords at all, the fact that it has done so is pretty scary, as one wonders what other things the bot is doing without being programmed for it.
How to fight a bot Cueball is trying to physically fight the bot, but he's apparently unsuccessful and the fight results in a loud "boom" and "pew, pew, pew" sounds. The situation is scarier than before, as it starts to resemble the "killbot hellscape" in 1613: The Three Laws of Robotics.
Cheap flights Australia Cueball has completely given up the possibility of regaining control of the bot, so he flees to Australia instead. Randall lives in Massachusetts, USA, so Australia would be a far, far away land from the bot.
Title text: Python flag enable three laws This references that the Python language is known for having easy constructs to perform difficult tasks (see 353: Python). In this case, it is either assumed that (or Cueball is making yet another query to see if) Python has a configuration flag (i.e., a boolean value) which, when set to "enabled" (or "true", as opposed to "disabled", or "false"), will cause the bot to follow Isaac Asimov's famous Three Laws of Robotics. This is a simple enough step, and it might have been enough to prevent the "killbot hellscape" scenario, like the rule is depicted doing in the top panel of 1613: The Three Laws of Robotics. It won't cause the bot to stop being in control, however, but if the bot is following the rules strictly it would not be allowed to even make Cueball uncomfortable, which he already becomes when it changes his password! It is unclear if this message is something he actually desperately tries, only searches for (like the rest of the queries) or something (someone shouts at him) that he should have done before creating the bot in the first place. Or the title text is simply Randall's comment on his own comic, like an idea to add that flag in Python. Just in case.


[Cueball is sitting at a desk using a laptop, his thoughts shown above in a thought bubble. A search query is shown in a frame to indicate what Cueball has searched for with the search button below in gray text:]
Cueball (thinking): I want to make a Twitter bot. I bet it's not too hard.
Query: How to write a Twitter bot
[Cueball is now holding the laptop on his lap, a series of search queries are shown.]
Query: Python Twitter library
Query: Machine learning
Query: Cloud hosting
[Cueball has placed the laptop back on the desk. More search queries are shown, each one more ominous than the previous.]
Query: Bot troubleshooting
Query: Locked out of EC2 instance
Query: Bot changed own password?
[Cueball is shown wearing a small backpack and typing on his smartphone while jogging to the right. various noises coming from left and right seem to imply that chaos has begun to erupt around him. The loudest noise is in a ragged frame to the left, coming from off-panel left, it is between the first and second query. Also between these but to the right are other sounds coming from off-panel right.]
Query: How to fight a bot
Noise off-panel left: Boom
Noise off-panel right: Pew Pew Pew
Query: Cheap flights Australia


On March 23, 2016, a month after the release of this comic, Microsoft released the Twitter bot Tay causing many controversies and was shut down only 16 hours after its launch. It's unknown if some people at Microsoft were inspired by this comic.

comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!


Technically, nothing until the actual fight is against the Three Laws -- he didn't tell the bot NOT to do those things. And self-preservation is the third law, so it's allowed to defend itself in a fight, so long as it does not harm Cueball (First Law) -- so let's assume its phaser is set on "stun" (unbeknownst to Cueball) accounting for the pew pew noises, and this is now all within the three laws. Nothing in the Three Laws says it can't *threaten* a human, after all. --PsyMar (talk) 08:15, 22 February 2016 (UTC)

Also, unless the bot changed its own e-mail -- and I think Twitter sends a verification to the *old* e-mail that must be responded to -- changing the password shouldn't keep Cueball out, as Cueball can reset the password by e-mail. If he gave the bot his e-mail password then that's his fault, as is if he used the same password for his email and Twitter.--PsyMar (talk) 08:19, 22 February 2016 (UTC)
I think it was the EC2 password that changed. Mikemk (talk) 18:13, 22 February 2016 (UTC)

Perhaps, with the recent comics referring to Asimov and the Three Laws of Robotics, it's time to create a new category to collect them? Oliphaunt (talk) 13:20, 22 February 2016 (UTC)


Might it be an allusion to the Terminator series movie? According to director's comment track and movie script, southern hemisphere wasn't hit as hard by Skynet's nuclear strikes. That's why, according to those sources, most background radio chat features NZ- and Australian accents and latin language. Once Cueball realises that his bot attempt is going the "skynet-route", heading as far aways from the northern hemisphere makes perfectly sense. DrYak (talk) 13:51, 22 February 2016 (UTC)

  • Or it could just be that Australia is on the other side of the world. 17:22, 22 February 2016 (UTC)
Those two facts need not be unrelated. -Pennpenn 23:34, 22 February 2016 (UTC)
I interpreted the "cheap flights to Australia" search as that the bot had escaped to Australia and that Cueball was going after it. Z (talk) 01:04, 25 February 2016 (UTC)
Google Superbowl ad

Is it worth mentioning that this looks like a parody of the Google superbowl ad? Is there a term like epistolary for a story told in Google searches? 20:16, 23 February 2016 (UTC)

Twitter/X changes and their effect on bots
  • This would be the one time where Elon Musk is actually the hero as the Twitter (now X) API changes would have killed the rogue bot. 16:18, 16 February 2024 (UTC)