Skip to content
Teuk edited this page Jul 3, 2026 · 33 revisions

Mediabot v3

Welcome to the official wiki for Mediabot v3.

Mediabot is a multi-purpose IRC bot written in Perl and built around real IRC operations: channel administration, user and channel management, command dispatching, database-backed public commands, URL and media helpers, Partyline administration, monitoring, testing, and long-running bot maintenance.

This wiki is the documentation hub for the project.


Current release status

  • Stable release: 3.1
  • Current development line: 3.2dev-*
  • Next stable target: 3.3not released yet

Mediabot uses odd minor versions for stable lines and even minor versions for development/beta lines.

3.1                 current stable line
3.2dev-YYYYMMDD_*   current development builds
3.3                 future stable target

This wiki follows the current development tree. It may therefore document fixes and configuration keys newer than the latest stable archive.

New users should follow the development installation guide only when they are comfortable testing the current Git tree. A stable release should be installed from its tagged release assets and matching notes.

Start here

Installation

If you want to install Mediabot from scratch, start here:

This page provides a novice-safe Debian 13 path, explains which commands run as root or mediabot, and documents the CPAN-only Perl dependency model.

Configuration

If you already installed the bot and want to understand the configuration files and channel feature flags:

Important runtime flags include:

  • +Games
  • +AchievementAnnounce
  • +UrlTitle
  • +Youtube
  • +YoutubeSearch
  • +RandomQuote
  • +Claude
  • +NoColors
  • +AntiFlood

Commands

If you want to know what users and operators can do:

Operations

For runtime operation and troubleshooting:


Plugins and external scripts

Mediabot v3 now has two guarded extension models:

  • trusted in-process Perl plugins loaded by Mediabot::PluginManager;
  • trusted external Perl, Python and Tcl scripts routed through Mediabot::Plugin::ScriptDryRun.

Start here:

The extension system is disabled by default. External script actions are dry-run by default, real IRC output needs explicit apply and IRC gates, and production routes should remain command-scoped.

What Mediabot can do

Depending on configuration and enabled features, Mediabot can handle:

  • IRC administration and moderation;
  • user, hostmask and channel management;
  • database-backed public commands;
  • URL title handling and media helpers;
  • YouTube, TMDB, music and radio-related helpers;
  • Partyline-based remote administration;
  • Prometheus metrics;
  • runtime testing and schema drift validation;
  • social and community analytics.

Recent development builds also include a richer social layer:

  • achievements / achievs
  • profil / profile
  • radar
  • dashboard / chanstats
  • leaderboard / lb
  • chronos / chrono / timeline
  • features / capabilities / caps
  • observatory / obs
  • mood / ambiance
  • duel
  • horoscope / horo
  • compat / affinity
  • quotegame / qg

These commands are documented in:


Recommended reading order

If you are new to the project:

  1. Installation
  2. Configuration
  3. Public commands
  4. Social features and community analytics
  5. Private and admin commands
  6. Partyline
  7. Testing
  8. Troubleshooting
  9. Release and upgrade notes

Notes for contributors and operators

If you are working on the bot rather than only using it, the most useful pages after installation are:

These pages are especially important when preparing a new release, validating a fresh install, or checking an existing database with the schema drift tools.


Project philosophy

The goal is not just to keep adding features.

The goal is to make Mediabot:

  • installable on a fresh system;
  • maintainable;
  • understandable;
  • documented;
  • observable;
  • releasable without guesswork.

The wiki should describe the bot as it actually exists: stable install path, current development features, real runtime commands, and the operational practices used to keep it running.


Next step

If you are here to install Mediabot, go directly to:

If you are here to explore what the current development version can do:

(c) TeuK 2019-2026

Clone this wiki locally