Eggdrop Never Sleeps: The TCL Bots That Outlived Their Owners, Their Servers, and Possibly You
Somewhere on a $3-a-month VPS running Debian Potato, an Eggdrop bot is still handing out channel operator status to a nick that hasn't logged in since the second Bush administration. Nobody told it to stop. Nobody told it anything. That's kind of the whole point.
Eggdrop was written in 1993 by Robey Pointer, a college kid who needed something to keep his IRC channel from getting flooded and taken over by rival trolls. He wrote it in C, wired it to a TCL scripting engine so anyone could bolt on new behaviors without recompiling the whole thing, and released it into the wild. What happened next is one of the more quietly remarkable stories in internet history: basically nothing changed, and that turned out to be the secret.
The Cockroach Architecture
The reason Eggdrop is still running in 2024 — yes, still, go check Netsplit.de if you don't believe us — is the same reason cockroaches survived the asteroid that killed the dinosaurs. It's not that it's particularly elegant. It's that it has no unnecessary parts. No GUI to deprecate. No cloud dependency to sunset. No subscription model to cancel. Just a binary, a config file, a TCL interpreter, and a Unix socket pointed at an IRC server.
TCL, for the uninitiated, stands for Tool Command Language, and it was the duct tape of the late-90s internet. Nobody loved it. Nobody put it on a resume without a small twinge of shame. But it worked, and more importantly it worked the same way in 1997 that it works today. The TCL scripts people wrote for Eggdrop in the Clinton years load without modification on modern installs. This is either a testament to backward compatibility or evidence that the language was so simple it had nowhere left to go wrong.
Bot administrators — botmasters, if you want to use the term that made everyone feel like a supervillain — wrote TCL scripts for everything. Auto-opping regulars. Kicking anyone who typed the word "lag" more than twice. Logging channel quotes to a flat text file and serving them back on demand. Running trivia games. Announcing MP3 uploads to an FTP site that no longer exists, pointing to an IP address that now hosts a Vietnamese insurance brokerage.
The Partyline Is Forever
Eggdrop had a feature called the partyline — a sort of internal chat room where bot admins could talk to each other and to the bot itself, through a Telnet connection. It was text-only, it was completely insecure by modern standards, and it was genuinely delightful. You could DCC chat your bot, type .status, and get a readout of every channel it was sitting in, every user it had op'd, every script it was running. It felt like having a conversation with a very obedient, very stupid pet that happened to control your social life.
Some of these bots were networked together in "botnets" — and yes, that word meant something completely different and mostly wholesome before the spam industry got hold of it. A linked Eggdrop botnet meant five or six bots spread across different servers, sharing user lists and channel control so that if one server split, the channel didn't go dark. It was distributed systems architecture, implemented by teenagers who were also arguing about Quake rail gun accuracy in the same window.
What Are They Even Doing Now
This is the part that gets genuinely strange. If you go spelunking through the quieter corners of Libera.Chat or IRCnet today, you will find Eggdrop bots that have been running continuously — with reboots, sure, but with the same config, the same user files, the same TCL scripts — for fifteen or twenty years. Their owners set them up, forgot about them, moved on to Slack and Discord and careers in DevOps, and the bots just kept going.
They're still opping users. Still running !seen commands that return results like "Darkwarez69 was last seen 6,847 days ago saying 'brb dinner.'" Still enforcing flood limits on channels where the last human message was in 2011. They are, in the most literal sense, monuments. Automated headstones for communities that dissolved into the ether.
The Eggdrop project itself never actually died either. It's on GitHub. It got a new release in 2023. Someone is still maintaining it, still merging pull requests, still patching TLS support into a bot architecture designed in the era when SSL was something you read about in a magazine.
The Accidental Museum
What's interesting — and this is where it tips from funny into something almost melancholy — is that these bots are preserving data that exists nowhere else. The user files contain lists of nicks and hostmasks for people who may be dead. The log files contain conversations from communities that left no other trace. The channel stats scripts have been counting lines of chat since before Google was incorporated.
No library is collecting this. No university archivist is submitting grant proposals to preserve Eggdrop user files from DALnet #mp3z circa 2001. The preservation is happening entirely by accident, sustained by the Unix philosophy of "if it ain't broke, don't rm -rf it."
There's a lesson in there somewhere about how the most durable technology is usually the stuff nobody bothered to make interesting. Eggdrop wasn't flashy. It didn't have a Web 2.0 relaunch. It didn't pivot to blockchain. It just sat there in a screen session, doing exactly what it was told, long after everyone who told it anything had grown up and gotten mortgages.
The bot doesn't know you left. The bot will never know you left. The bot has ops to hand out and it's going to hand them out until the electricity bill goes unpaid or the heat death of the universe, whichever comes first.
[23:47] <eggbot> Giving ops to Darkwarez69
[23:47] *** Darkwarez69 has not been seen for 6,847 days
[23:47] <eggbot> Done.