Skip to main content

The dashboard

Chancery has a web dashboard at chancery.titanite.family. Everything on it can also be done with a slash command, and everything a slash command does can be done on it — see parity for why that matters.

The ? in the corner of any dashboard page links straight to the section of this page that covers it.

Signing in

You sign in with Discord. Chancery never sees your password.

A server shows up in your picker when both are true:

  • Chancery is in that server, and
  • you are an administrator of it, or you hold the admin or staff role set on its General Settings page.

Change your roles in Discord and the list changes with them. There is nothing to grant on the dashboard itself.

If a server is missing, check in this order: is the bot actually in it; are you an administrator there; has someone set an admin role that you do not have. The third one catches most cases — setting an admin role does not remove Discord administrators, but it does mean somebody without either will not get in.

Home

What this server has switched on, and what has changed recently. The strip at the top counts modules on and off, and each chip jumps to that module.

General Settings

The settings that apply whatever modules you have on: who counts as an admin, who counts as staff, and where the bot reports its own failures.

Every value here is the same one /config set writes. The full list, with the type and default of each, is in the settings reference.

Server administrators bypass all of these. The roles exist so somebody can run the bot without being handed Administrator.

Modules

One page per module, and each page is a directory rather than a form: a list of categories, and the settings live one level down. Events has twelve settings and Tickets more, so a single page of every setting would be unreadable.

Each category row shows how many of its settings are filled in. If it says needs setup, something in there is required and empty — the module is on, but the part of it behind that row will not work until you fill it.

Switching a module off hides its commands in Discord. Nothing is deleted, and everything comes back when you switch it on again. See Modules.

Lists

Some categories are a list rather than a set of settings: event types, games, ticket types, panels, forms, suggestion boards, tags, statuses, factions, stores, pipeline stages, divisions.

They all behave the same way — search, add, click a row to edit it, arrows to reorder, bin to delete. Order matters for some of them: pipeline stages and form outcomes are a sequence and the order is what it means.

Templates

A template is a message you build once and point things at. A ticket panel, a form panel and an event announcement are all "send this message", so they can all use the same template — and changing it changes every one of them.

Duplicate is on every row, because "the same panel with one line changed" is the thing people actually do.

Variables like ${user} and ${event.name} are filled in when the message is sent. The editor only offers the variables that make sense where the template is used, and will not save one it does not recognise.

Components

Buttons and select menus.

The important thing, and the thing people get wrong: this page does not build the button. The button's label, colour and emoji are set on the template. What you build here is a named set of actions, and the button points at it by name. One behaviour can therefore be shared by every button that uses that name.

An action is one of:

ActionWhat it does
Send messageReplies where the button was pressed. Can be visible only to them.
Send channel messagePosts into a channel you pick.
Edit messageReplaces the message the button is on.
Delete messageRemoves the message the button is on.
DM userSends it to them privately.
Open a formStarts one of this server's forms.
Open a ticketOpens a ticket of a type you pick.
Give / take away / toggle rolesChanges the presser's roles.

Role actions are limited on purpose. A button can only hand out roles below your own highest role, so it can never grant more than you hold. This is checked again when the button is pressed, not just when you build it — your own roles can change afterwards.

If a button does nothing when pressed, the name on the template and the name here do not match. They are case-sensitive.

Commands

Every Chancery command, with whether it is on and who can use it. Custom commands live here too: a name and a list of actions, the same actions the buttons use.

Profile

Who you are signed in as and which servers you can manage. Nothing is configured here.

Parity

Anything you can do on the dashboard you can do in Discord, and the other way round. This is structural, not a promise we keep re-checking: both surfaces call the same code, so there is no path where one can write something the other cannot.

The practical consequence: if the dashboard is down, Discord still works. Nothing is web-only, and no page here is the only way to do something.

Troubleshooting

What you seeUsually means
A server missing from the pickerThe bot is not in it, or you hold neither Administrator nor the configured admin/staff role.
A category says needs setupA required setting inside it is empty. Open it; the empty field says what needs it.
A module's commands missing in DiscordThe module is off. Switch it on from its page or with /moduleadmin.
A setting saved on the web but nothing changedCheck the module is on. Settings are kept whether or not the module is enabled.
A button does nothingThe action name on the template does not match the one in Components.
A role missing from a role action's listIt is at or above your own highest role. That is deliberate.
"Unknown config key" from /config setThe key does not exist. The autocomplete matches on the setting's name as well as its key — type what it is called.