"Bots" are, in this context, automated programs that generate something and post it for entertainment purposes. I became interested in these kinds of code experiments around 2012 after seeing such work by creators like Darius Kazemi and Allison Parrish. This page is an exhaustive list of bots I've made over the years, mostly using the Python programming language. In the spirit of sharing knowledge, source code is available for all but one.
Status: Active, since 2014-05
Posts: every day at 4pm PST (matinée time)
Source code: heptapod.host/jp-lebreton/plotbot
Most Wikipedia pages for a given film provide at least a brief plot synopsis. Using the sum total of all film pages on Wikipedia as a corpus, this bot picks a random film and posts the final sentence from its plot summary. Spoilers are definitely possible, but given the depth of the corpus it'll usually be a film you've never heard of. A reverse-search (searching for the post's text on Wikipedia) will almost always find the film that has been excerpted on a given day.
Status: Active, since 2020-07
Posts: every day at 8:30am PST (morning commute)
Source code: heptapod.host/jp-lebreton/sc2000bot
In the decades since its release in 1993, players have created thousands of cities in the classic builder game SimCity 2000. With heavy lifting done almost entirely by the OpenCity2k project, this bot picks from a private archive of hundreds of user-created cities and posts a random glimpse of a cityscape. The game's timeless pixel art and the creativity of its players provide the interest here.
Status: Active, since 2018-09
Posts: every day at 12pm PST (high noon)
Source code: heptapod.host/jp-lebreton/vsbot
Possibly my most elaborate and hardest to explain bot, Capcom VS Everyone (no affiliation with Capcom, or anything else really) depicts pre-match "Versus" screens from a fictitious fighting game whose character roster includes a seemingly infinite breadth of fictional characters from every corner of pop culture.
The bot draws from a private, hand-built corpus that includes character names, fiction of origin, portrait image, and metadata to construct amusing team-ups and showdowns. In early 2021 I wrote a new tool for managing this corpus, which I describe briefly in this thread. At some point I would like to do a video explaining all the ridiculous things going on behind the scenes of this bot; when I finally do so I will be sure to link it here.
Status: Active, since 2014-04 (overhauled 2015-05, and again 2020-08)
Posts: every day at 6:30pm PST
Tumblr: wadbot.tumblr.com (this is where the image posts are actually hosted)
Source code: heptapod.host/jp-lebreton/wadbot
Mere months after id Software's landmark 1993 first person shooter Doom was released, fan-made level editors emerged on the net. Since then, the community's output has grown to tens of thousands of levels and mods - commonly referred to by their file format, WADs - and over 25 years later shows no signs of stopping.
WADbot dives into this massive vault of community work, opens up a random level, tries to find the most "interesting" (high detail, mostly) screenshots, and posts them with an excerpt from and link to the database entry.
Status: Active, since 2017-06
Posts: every night at 11:59pm PST Twitter: @rot13scavenger
Source code: heptapod.host/jp-lebreton/rot13bot
ROT13 is a very simple cipher people frequently use online to obscure spoilers, quasi-private whispers, et cetera. This website lets you play with the technique to get a feel for it.
This bot searches twitter for common words ("the", "was", etc) in ROT13, on the assumption that most or all of the resulting posts are written in the cipher. It then simply un-ROT13s the post text, and strips out any @ usernames to keep it (mostly) anonymous.
Status: Active, since 2017-02
Posts: every day at 9:30am PST
Source code: heptapod.host/jp-lebreton/welcomebot
People use the construction "welcome to X" to convey a lot of different things: greetings to a newcomer, a new situation, sarcasm or exasperation. This bot searches twitter for posts that contain the phrase "welcome to" and posts what follows (excluding links and @ usernames).
Status: Active, since 2014-05
Posts: wildly variable random periods of at least a few days
Source code: heptapod.host/jp-lebreton/orzbot
Posts random quotes from the enigmatic, alternately lovable and terrifying alien race the Orz from Star Control II: The Ur-Quan Masters, the 1992 cult classic space adventure from Toys for Bob.
Status: Launched 2014-07, Retired 2016-07
Source code: heptapod.host/jp-lebreton/sandwichbot
Invents and posts a randomly generated sandwich using a very simple implementation of a context-free grammar.
Status: Launched 2014-12, Retired 2017-02
Source code: heptapod.host/jp-lebreton/atbatbot
A gift for my father, this bot drew from the Baseball Reference website's database of at-bat information from almost a century of recorded baseball history, posting the players involved and outcome for a single at-bat on the same day as the post. During the off-season, posts would be chosen based on players' birthdays.
Unfortunately, changes in the source website's format broke this bot after a few years. Getting it working again would involve a total rewrite, with no guarantee that it wouldn't break again.
Status: Launched 2013-07, Retired 2020-06
Source code: heptapod.host/jp-lebreton/mannybot
This was the bot that got me started. Drawing from the 1998 adventure game Grim Fandango's dialog bank for the "open mic poetry" sequence at the Blue Casket beatnik club, this bot generates free-association slam poems by the game's protagonist, Manuel Calavera, posting one new line each night.
Status: Launched 2014-06, Retired 2018-08
In the early years of Valve's push to support Linux, thousands of new ports of games became playable on Steam. SteamDB is an independent database that, until 2018, maintained a page that tracked possible additions of Linux support for new and existing games. I created this bot to post new findings from that page. At some point, the bot's scraping logic broke and Tin Tvrtković took over maintenance. Then in 2018 SteamDB discontinued their Linux support page, its purpose having more or less been served.