-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Mediabot v3 is a multi-purpose IRC bot written in Perl.
It is used for real IRC operations: channel administration, user management, command dispatching, public utility commands, analytics, URL/media helpers, Partyline administration, testing, monitoring, and long-running bot maintenance.
This wiki documents the current project state, with a strong focus on:
- fresh installation;
- safe upgrades;
- configuration;
- database validation;
- command usage;
- Partyline operation;
- troubleshooting;
- testing and release discipline.
The wiki is being rebuilt around the current Mediabot v3 development tree and the real installation/testing workflow.
The project versioning policy remains:
- odd minor versions are stable releases;
- even minor versions are development / beta lines.
Examples:
-
3.1= stable release; -
3.2-dev= current development line; -
3.3= next stable release target.
If you are installing from the Git repository, follow the development-tree documentation and validate with the test suite.
Start with:
This page should explain the full fresh install path, including Debian dependencies, database creation, ./configure, first start, login/register checks, and post-install validation.
Read:
This page documents the current mediabot.sample.conf model, including database, connection, OpenAI/Claude, Chromium, metrics, radio, Partyline, antiflood, retention, and runtime settings.
Read:
This page documents the fresh-install schema from install/mediabot.sql, the major table groups, important relationships, and how this differs from existing upgraded production databases.
For upgrades and existing databases, also read:
Use this page for normal channel commands available to public users, depending on channel settings and enabled integrations.
Use this page for authentication, user/channel administration, privileged commands, and owner/master/admin operations.
Use this page to answer:
What can this user level actually do?
Use this page to run Mediabot as one or more systemd-managed instances. It covers the mediabot@.service template, /etc/default/mediabot-<instance> files, multi-instance layouts, logs, restarts, and temporary maintenance pauses.
Use this page to enable Mediabot metrics, configure Prometheus scraping, and import the hourly Grafana dashboard from contrib/grafana/.
Use this page to understand the Liquidsoap/Icecast radio stack, MP3 cache-first playback, yt-dlp download safety, radiocheck, radio admin commands, and the current YouTube cookies limitations.
The Partyline is the TCP admin interface. It is useful for runtime inspection, console output, controlled operations, DCC CHAT, antiflood diagnostics, netsplit diagnostics, and administrative commands.
Use this page before committing, before deploying, and after a fresh install. It should document static tests, live tests, full test runs, log locations, and how to interpret failures.
Use this page when something breaks during install, startup, runtime, Partyline, IRC handling, database validation, URL title handling, antiflood, or migrations.
These pages are mainly for maintainers and contributors:
The command audit is not a user guide. It is a consistency check between command dispatch and internal help documentation.
For a fresh install:
For an operator:
- Configuration
- Public commands
- Private and admin commands
- Command level index
- Running with systemd
- Partyline
- Troubleshooting
For a maintainer:
The wiki is being cleaned in phases:
- create missing structural pages such as
Database-model.md; - rebuild
Home.mdand navigation; - regenerate command pages from the current source;
- rewrite
Configuration.mdfrommediabot.sample.conf; - update
Installation.mdafter a fresh Debian install test; - update
Testing.mdaround the current full test workflow; - update
Partyline.mdwith current commands and diagnostics; - enrich
Troubleshooting.mdwith real issues encountered during development.