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:
| Action | What it does |
|---|---|
| Send message | Replies where the button was pressed. Can be visible only to them. |
| Send channel message | Posts into a channel you pick. |
| Edit message | Replaces the message the button is on. |
| Delete message | Removes the message the button is on. |
| DM user | Sends it to them privately. |
| Open a form | Starts one of this server's forms. |
| Open a ticket | Opens a ticket of a type you pick. |
| Give / take away / toggle roles | Changes 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 see | Usually means |
|---|---|
| A server missing from the picker | The bot is not in it, or you hold neither Administrator nor the configured admin/staff role. |
| A category says needs setup | A required setting inside it is empty. Open it; the empty field says what needs it. |
| A module's commands missing in Discord | The module is off. Switch it on from its page or with /moduleadmin. |
| A setting saved on the web but nothing changed | Check the module is on. Settings are kept whether or not the module is enabled. |
| A button does nothing | The action name on the template does not match the one in Components. |
| A role missing from a role action's list | It is at or above your own highest role. That is deliberate. |
"Unknown config key" from /config set | The key does not exist. The autocomplete matches on the setting's name as well as its key — type what it is called. |