AppleIIBot is made by @KaySavetz. They took inspiration from @BBCMicroBot (which does a similar thing but with an emulated BBC Micro, a computer that was popular in the United Kingdom.) Kay also maintains Atari8BitBot and PCBasicBot.
Kay is co-host of ANTIC: The Atari 8-Bit Podcast, where they have interviewed hundreds of people who did interesting things with Atari computers. They are also half of Eaten By A Grue, a podcast where they have played every single Infocom text adventure game.
How the Bot Works
The bot runs on a Raspberry Pi in Kay’s basement. A Python script checks Twitter every two minutes for incoming tweets directed at @AppleIIBot, and imports them into the linapple emulator. Next, ffmpeg records the emulator’s output as a video, then the script uploads that video to Twitter as a reply to you.
Directives for Bot Pros
By default, the Apple bot starts running your program, lets it run for 3 seconds before starting to record the video. It records the video for 30 seconds. If you don’t like this standard recording behavior — for instance, if your program takes a long time to draw a fractal — you can change it with a directive at the start of your tweet.
The {B} directive tells the bot how many seconds to wait before Beginning to record. {B20} will let your program run for 20 seconds before recording begins. {B0} will start recording immediately. The maximum wait is currently 99 seconds.
The {S} directive tells the bot how many Seconds to record your program running. {S2} will will record it running for just 2 seconds. {S99} will record it for the maximum 99 seconds. If you’re going to tie up the bot for that long, make it good.
The {G} directive gives you an authentic, old-school green screen. The {A} directive gives you an authentic, old-school amber screen. Who needs all those fancy colors?
You can combine directives in one set of brackets, like this: {B30S25} or {GS5B5}
The code that runs the bot is available at https://github.com/savetz/appleiibot.
More Fun
Also try your hand at our friend, BBCMicroBot.
For more adventures in constrained programming of microcomputers, check out BASIC10Liners, an annual competition to create games in just 10 lines of BASIC code, on your choice of ancient microcomputer. After trying your hand at maximum 280-character code with the AppleIIBot, 10 lines will feel like a luxury!