Repository navigation
The dashboard
The dashboard is a website for setting Testify up without typing commands. There's a screen for nearly everything the bot does, and every change there is the same change the matching command makes.
- The public bot: testify.lol. Press Sign in with Discord, then pick a server on your servers page.
-
Your own copy: wherever you set
DASHBOARD_BASE_URL. It's off until you turn it on; see Turning it on below.
Signing in only asks Discord who you are and which servers you're in. The dashboard never sees your password.
- Manage Server in a server opens all of its screens.
- Somebody without it can be given single screens by the server's owner or an administrator, on the Dashboard access screen: give somebody part of the dashboard.
-
Every action still asks what its command asks. Banning from the web needs Ban Members, just as
/bandoes, and the screen says which permission is missing before you try. - Losing a permission in Discord takes effect on your next click, not at your next sign-in.
The sidebar groups a server's screens by what they're for. The addresses are /guilds/<server id>/<screen>.
| Section | Screens |
|---|---|
| Top | Overview, Inbox, This week, Channels, Members, Roles, Settings, Back up and copy |
| Community | Welcome and goodbye, Birthdays, Levelling, Role menus, Idea board, Starboard, Join to create |
| Messages | Announcements, Scheduled messages, Sticky messages, Auto-responders |
| Moderation | AutoMod, Raid protection, Warnings, Cases, Bans, Appeals, Mod mail, Channel tools, Tickets, Audit log, Changes |
| Stats | Insights, Invites, Member count, Bot statistics |
| Economy | Economy settings, Treasure, Lottery, Casino |
| Entertainment | Music, Giveaways |
A few screens worth knowing first:
- Overview says what the bot is doing in the server, which permissions it's missing, and has a setup checklist.
- Inbox lists what needs a person: unclaimed tickets, ideas waiting, and channels a feature can't post in.
- Changes lists two weeks of changes, from the dashboard and from Discord's audit log. A settings change can be put back from there.
- Back up and copy downloads a server's settings, or copies another server's setup onto this one.
Finding your way around the dashboard walks through it.
| Page | What it's for |
|---|---|
| Your servers | The servers you can configure, and the ones you can add the bot to |
| Compare | Two to four of your servers side by side, feature by feature |
| Commands | Every command, searchable |
| Help | First steps, and questions answered from the help articles |
| Notifications | What the bot's owners want everybody to know |
| Your account | Your profile, reminders, sign-ins, what you've changed, and Delete my data |
| Appeals | Appealing a ban from a server that takes appeals |
| Status | Whether the bot is up, with 30 days of history. Public |
| Appearance | Theme, accent colour, motion and language. Public, and kept in your browser |
- Quick search: press Ctrl+K, or ⌘K on a Mac, to jump to any screen, server, channel or command.
- Switching server keeps you on the same screen: open the server's name at the top of the sidebar.
- Deleting something waits a few seconds with an Undo button before anything is sent.
- Send me a test beside a message preview sends that message to your own DMs, exactly as members would get it.
- It works on a phone. The sidebar becomes a menu.
- A change that didn't save says why beside the control that caused it: a change on the dashboard did not save.
The dashboard is off by default, so a bot-only install needs none of this. It takes four settings, and
npm run setup asks for all of them:
| Variable | What it is |
|---|---|
DASHBOARD_ENABLED |
true to serve it |
DISCORD_CLIENT_SECRET |
From your application's OAuth2 page in the Discord Developer Portal |
DASHBOARD_BASE_URL |
The address people open, such as https://dashboard.example.com
|
DASHBOARD_SESSION_SECRET |
npm run secret -- --write writes one into your .env
|
Add your base URL with /api/auth/callback on the end as a redirect on that same OAuth2 page. Before you put it on
the internet, read
If you put it on the internet:
the defaults assume it stays on your own machine. Self-hosting covers the rest of the setup.
docs/dashboard/guide.md is the practical
guide: the layout, the components, and the edits a new screen takes. See Contributing too.
This wiki is published from docs/wiki/ in the
repository. To change a page, edit it there with a pull request: edits made here are overwritten.
Using it
Running your own
Changing it
Links