Production-ready runtime, deployment tooling and documented upgrade path.
Browse stable source →Mediabot v3
A long-running IRC platform for community operations, memory and conversation — engineered in Perl, persisted in MariaDB and observable in production.
Stable 3.5 is the supported release. The active 3.6dev line is consolidating the plugin platform, command routing and per-channel behaviour without trading away operational safety.
Plugin API v3, one command doorway and finer per-channel controls.
Build a plugin →One runtime, four operational layers
IRC runtime
Resilient network handling, channel policy, roles, timers and controlled multi-network operation.
Community memory
Quotes, notes, reminders, facts, history and achievements backed by durable MariaDB state.
Conversation
Per-channel Hailo brains plus guarded OpenAI, Claude and Gemini helpers where communities opt in.
Operations
Systemd deployment, schema migrations, diagnostics, structured logs and Prometheus metrics.
Release and development notes
Mediabot after 3.1: from long-running beta to a real release baseline
Mediabot after 3.1: from long-running beta to a real release baseline Mediabot did not suddenly become interesting because a release tag was published. What changed with 3.1 is more important than a tag: the project finally crossed the line between a long-running, real-world IRC bot in active use and a release that…
Read the full note →Major refactoring milestone
After a long (very long) refactoring campaign, Mediabot finally migrated most of its command handling to a proper Context-based architecture. Yes, this includes: removing years of implicit state, surviving strict mode, fixing bugs that existed longer than some IRC networks, and arguing endlessly with ChatGPT (which…
Read the full note →Database changes: CHANNEL_PURGED
ALTER TABLE CHANNELPURGED ADD COLUMN purgedby VARCHAR(255) DEFAULT NULL; ALTER TABLE CHANNELPURGED ADD COLUMN purgedat DATETIME DEFAULT CURRENTTIMESTAMP;
Read the full note →Spotify integration demo
Read the full note →Charset and schema cleanup
I had to do this for a long time, sorry guys ALTER TABLE CHANNELLOG MODIFY ts DATETIME NOT NULL DEFAULT CURRENTTIMESTAMP; ALTER TABLE RESPONDERS MODIFY responder VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4unicodeci, MODIFY answer TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4unicodeci; ALTER TABLE CHANNEL MODIFY…
Read the full note →Recent GitHub activity
-
ea2183aMB816: rotate paced RSS feeds across the Great Hall 🦉📰 -
730dadbMB815: let the Daily Prophet deliver sourced news at an owl's pace 🦉📰 -
eaf8410MB814: guard the mbweb gates and keep quotes within their channels 🛡️ -
b4fc687MB813: let the owl share channel quotes at a measured pace 🦉📜 -
70cea34MB812: let the owl find matching quotes again 🦉📜 -
cf52236MB811: let the owl whisper RSS news without CTCP 🦉📰 -
07b50b3MB810: let the owl fetch the latest RSS headline 🦉📰 -
1cf83e9MB809: let the owl deliver RSS news at a quiet pace 🦉📰 -
d234a60MB808: let the Marauder's Map find the exact VDM and DTC scroll 🗺️📜 -
b8237f9MB807: let Flitwick teach the spellbook café and safe choices ☕🎲