> ## Documentation Index
> Fetch the complete documentation index at: https://docs.confine.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Counters

> Display live server stats in a channel name.

## Overview

A counter is a channel whose name confine keeps updated with a live number — member count, boost count, how many voice channels you have. Members see it in the channel list without having to run anything.

<Info>
  Requires **Manage Server**, and confine needs **Manage Channels**.
</Info>

## Creating one

Confine makes the channel for you and names it automatically.

<CodeGroup>
  ```javascript Syntax theme={null}
  ,counter add (option) (type)
  ```

  ```javascript Example theme={null}
  ,counter add members voice
  ```
</CodeGroup>

### Options

<Tabs>
  <Tab title="Members">
    | Option            | Counts                                          |
    | ----------------- | ----------------------------------------------- |
    | `members`         | Everyone in the server                          |
    | `users_only`      | Members excluding bots                          |
    | `bots_only`       | Bots only                                       |
    | `pending_members` | Members who haven't passed membership screening |
    | `booster_count`   | Members currently boosting                      |
  </Tab>

  <Tab title="Channels">
    | Option                  | Counts                |
    | ----------------------- | --------------------- |
    | `all_channels`          | Every channel         |
    | `text_channels`         | Text channels         |
    | `voice_channels`        | Voice channels        |
    | `categories`            | Categories            |
    | `announcement_channels` | Announcement channels |
    | `staging_channels`      | Stage channels        |
  </Tab>

  <Tab title="Server">
    | Option   | Counts                     |
    | -------- | -------------------------- |
    | `boosts` | Total boosts on the server |
  </Tab>
</Tabs>

### Channel types

| Type       | Creates                                                       |
| ---------- | ------------------------------------------------------------- |
| `voice`    | A voice channel — recommended, since members can't clutter it |
| `text`     | A text channel                                                |
| `category` | A category                                                    |
| `announce` | An announcement channel                                       |
| `stage`    | A stage channel                                               |

<Info>
  One counter per option. If you already have a `members` counter, confine points you at the existing channel rather than making a second one.
</Info>

## Using a channel you already have

Already built the channel yourself? Point confine at it instead.

<CodeGroup>
  ```javascript Syntax theme={null}
  ,counter set (option) (channel)
  ```

  ```javascript Example theme={null}
  ,counter set members #member-count
  ```
</CodeGroup>

Confine renames it immediately and keeps it updated from there.

## Removing a counter

<CodeGroup>
  ```javascript Syntax theme={null}
  ,counter remove (channel)
  ```

  ```javascript Example theme={null}
  ,counter remove #member-count
  ```
</CodeGroup>

<Warning>
  This stops the updates but leaves the channel behind. Delete it yourself if you don't want it.
</Warning>

You can also target a counter by its position in `,counter list`:

```javascript theme={null}
,counter remove select:2
```

Useful when the channel was deleted and you just want the leftover entry gone.

## Listing counters

`,counter list` shows every counter with its channel and what it's tracking.
