> For the complete documentation index, see [llms.txt](https://docs.membercounter.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.membercounter.app/using-the-dashboard/using-the-bot.md).

# Dashboard overview

Find your way around the dashboard: the server rail, the channel list, and where every setting lives.

You build and manage every counter on the dashboard. The bot itself has only a handful of commands.

## Opening the dashboard

Go to <https://membercounter.app/dashboard> and log in with Discord. The dashboard opens the first server you are in.

To manage a server you need **Administrator** or **Manage Guild** in that Discord server.

<figure><img src="https://1582170640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lu2S5r7lKtu4IK5ucu9%2Fuploads%2Fgit-blob-8754f68c5275fe167fccbe0fd9ec17af857577f7%2Fdashboard-overview.png?alt=media" alt="The dashboard with a server open"><figcaption><p>The server rail on the far left, the channel list next to it, and the server page on the right</p></figcaption></figure>

## The server rail

The server rail lists every Discord server you are in, one icon per server. Click an icon to switch servers.

On the hosted dashboard the rail also carries a **Create custom bot** button and the custom bots you own. Click a custom bot to open its own page instead of a server page. A [self-hosted bot](/self-hosting/self-hosting.md) has no custom bots, because the instance you run is your own bot.

## The server sidebar

The sidebar of the server you picked has the server name, a gear for **Server settings**, and the channel list in Discord's own order. Click a channel to open its page and edit its template.

Channel types the bot does not support yet are greyed out and have no channel page. See [Channel settings](/using-the-dashboard/channel-settings.md).

A channel with a template switched on carries a small dot:

| Dot          | What it means                                            |
| ------------ | -------------------------------------------------------- |
| Orange       | The template is on and no error is recorded.             |
| Red, pinging | The last run failed. Open the channel to read the error. |

<figure><img src="https://1582170640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lu2S5r7lKtu4IK5ucu9%2Fuploads%2Fgit-blob-16c1c43e7244d102c1494aec5dc6c18a209a6b35%2Fdashboard-channel-list-dots.png?alt=media" alt="Channel list with status dots"><figcaption><p>An orange dot means the counters are running; a red pinging dot means the last update failed</p></figcaption></figure>

## When you cannot open the server page

| What you see                                                                                                                                                                       | What it means                                                                                                                                                                                                    |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Let's set up the bot!** with an **Add to \<server>** button                                                                                                                      | The bot is not in the server. See [Adding the bot to the server](/getting-started/adding-bot-to-the-server.md). Without permission to add bots you get **Copy invite link** instead: hand that link to an admin. |
| **Permission Denied**                                                                                                                                                              | You do not have Administrator or Manage Guild in that Discord server. Getting one of them is the only fix.                                                                                                       |
| A red banner naming the [Terms of Service](https://membercounter.app/legal/terms-of-service) or the [Acceptable Use Policy](https://membercounter.app/legal/acceptable-use-policy) | The server is blocked, and the banner shows the reason. Dismissing it does not lift the block. Contact us on the [support server](https://membercounter.app/support) if you think it is a mistake.               |

If the bot has settings saved for a server but is no longer in it, a banner offers to add it back. Your templates are still there and start working again as soon as you add the bot back.

<figure><img src="https://1582170640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lu2S5r7lKtu4IK5ucu9%2Fuploads%2Fgit-blob-8350cec735a97d4109851e9383a402ea8b62f315%2Fdashboard-invite-bot-page.png?alt=media" alt="Let&#x27;s set up the bot!"><figcaption><p>What you see when the bot is not in the server yet</p></figcaption></figure>

<details>

<summary>Technical details</summary>

* `/dashboard` redirects to `/dashboard/servers`, which picks the user's first guild and redirects to `/dashboard/servers/:guildId`; a channel page is `/dashboard/servers/:guildId/:channelId` and the gear goes to `/dashboard/servers/:guildId/settings`.
* `/dashboard/bots`, `/dashboard/bots/:botId` and `/dashboard/servers/:guildId/upgrade` exist only in the hosted build, so a self-hosted dashboard has no custom bot block in the rail.
* A user in no servers at all gets a page with links to create one and to join the support server.
* Reading, modifying and inviting all need Administrator or Manage Guild in that Discord server. Reading also accepts the internal `SeeGuilds` permission and modifying the internal `ManageGuilds` one; inviting the bot accepts neither.
* The dot reads `isTemplateEnabled` and the stored `LastTemplateComputeError`, nothing else, so a channel the bot has never processed also shows orange.
* The supported channel types are text, announcement, voice and category; everything else is greyed out (`packages/common/src/channelType.ts`).
* **Create custom bot** has a 15-second cooldown after each creation, and the button is blocked until it passes.
* When self-hosting, the website's outbound links come from `VITE_SUPPORT_URL`, `VITE_BOT_DOCS_URL` (default `https://docs.membercounter.app/`), `VITE_BOT_REPO_URL` and `VITE_TRANSLATION_PLATFORM_URL`.

</details>
