Managing Bots

Creating a bot

Go to Dashboard → New Bot. You will be asked for a bot name (letters, numbers, hyphens and underscores only) and how to start the configuration:

Option Description
Blank Starts with only [core] nick = <name>. Fill in the config editor afterwards.
Copy from existing Copies another bot's full config. The nick (and name if present) are updated to the new name automatically.
Upload .cfg file Parses an existing Sopel config file. The nick value is set to the new name.

After creation you are taken directly to the config editor for the new bot.

Configuring a bot

Open the config editor from the dashboard by clicking the bot name, then Config, or from the bot detail page.

The editor is split into two areas:

Plugins — a checklist of all known plugins. Ticking a plugin adds it to core.enable; unticking removes it. Enabling a plugin also injects its config section with default keys if one is defined in config_docs.yml.

Sections — all non-plugin config sections (e.g. [core], [permissions]). Documented keys show a description and type hint. Undocumented keys (not in config_docs.yml) are shown as free-text fields at the bottom of the section.

Sections for plugin-owned keys (e.g. [redirect], [metrics]) are managed entirely through the plugin checklist, not the section editor.

Downloading the config

Click Download on the config editor page to save the current config as a .cfg file. This is useful for bootstrapping a new bot or keeping an offline backup.

Channel list

Use Bots → \<name> → Channels to edit the comma-separated core.channels list without opening the full config editor.

Starting, stopping and restarting

From the dashboard, use the action buttons next to the bot name. The available actions are:

Action Permission required Notes
Start bot.start Creates the bot's database if it does not exist yet.
Stop bot.stop
Restart bot.restart
Register bot.register Registers the bot with supervisord without starting it. Also ensures the database exists.

Bot detail page

Click a bot's name on the dashboard to open its detail page. It shows:

  • Status (Running / Stopped / other supervisord state), PID, and uptime
  • Nick — the IRC nick the bot is currently using
  • Channels — every channel the bot is in, with user count and a list of privileged users with coloured privilege tags (Voice, HalfOp, Op, Admin, Owner)
  • Permissions — the bot's [permissions] config, showing each permission's GroupServ groups (with cached members) and directly listed accounts

Channel and permission data comes from the state plugin, which writes a snapshot every 60 seconds and on any channel membership change.

Viewing logs

Open Bots → \<name> → Log. Logs are fetched from Loki and can be filtered by time window (1–168 hours) and a search string. Toggle Raw to see uncoloured output.

Deleting a bot

On the bot detail page, use the Delete button. This removes the bot from supervisord (if registered) and deletes its config file. The action is logged to the audit log. Requires the bot.register permission.