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

# Setup checklist

> Configure Hedwig safely and make each server system predictable.

This page is for server owners and administrators setting up Hedwig for the
first time.

## 1. Invite the bot

Use the **Invite Hedwig** button in the navigation. The invite in this project
requests the permissions used by Hedwig's moderation, automation, and
community systems. You can invite it with fewer permissions, but features will
fail until the specific Discord permission is granted.

After inviting it, verify:

* Hedwig can view the channels where it will be used.
* Hedwig can send messages and embeds.
* Its role is above roles it needs to assign or moderate.
* It can connect to and speak in music voice channels.

See [Permissions](/permissions) for the hierarchy rules that matter.

## 2. Configure a prefix

Slash commands do not depend on a prefix. Prefix message commands do:

```text theme={null}
,prefix
,prefix set !
,prefix remove
,prefix self ?
```

The prefix command accepts the value as a message argument, not as a Discord
slash option. Use a short, memorable prefix and avoid one that members commonly
type in normal conversation. Server-wide `set` and `remove` require
**Administrator**; `self` is available to an individual member.

## 3. Choose dedicated channels

Create private staff channels for setup and public channels for member-facing systems. A typical layout looks like this:

| Channel        | Use                     |
| -------------- | ----------------------- |
| `#mod-logs`    | `/logging setup` output |
| `#welcome`     | `/greet setup` messages |
| `#suggestions` | `/suggestions setup`    |
| `#feedback`    | `/feedback setup`       |
| `#support`     | `/ticket panelsend`     |
| `#level-ups`   | Level-up announcements  |

## 4. Configure protection

Run the setup commands in this order:

```text theme={null}
/logging setup
/logging enable
/automod setup
/automod enable
/antinuke enable
/antinuke status
```

`logging setup` offers an automatic mode that creates a private `Hedwig Logs`
category with message, member, moderation, voice, and server channels. It can
also be configured one channel at a time. In both modes, the bot creates
webhooks when it has **Manage Webhooks**.

Start automod with only the modules your server needs. Add trusted users,
channels, or roles to allowlists only after reviewing who genuinely needs an
exception. Antinuke's enable action creates or updates the
`Hedwig's Antinuke` bypass role; move that role above the roles it must protect
if the setup response asks you to.

## 5. Configure your member experience

Choose only the systems your server will maintain. Every enabled system should have an owner, a destination channel, and a test plan.

<AccordionGroup>
  <Accordion title="Customize Hedwig for this server">
    Use `/setprofile` to customize Hedwig's server-specific profile, including
    its avatar, banner, bio, and name style where available. These settings
    apply only to the current server, so each server can give Hedwig its own
    identity without changing how it appears elsewhere.
  </Accordion>

  <Accordion title="Welcome and farewell">
    Use `/greet setup`, `/greet test`, and `/greet variables`. Farewell messages use the matching `/farewell` commands.
  </Accordion>

  <Accordion title="Tickets">
    Use `/ticket setup`, add categories with `/category add`, add support roles with `/supportrole add`, and publish the panel with `/ticket panelsend`.
  </Accordion>

  <Accordion title="Self-assignable roles">
    Use `/selfrole setup` to create a panel, then `/selfrole config` to edit it later.
  </Accordion>

  <Accordion title="Leveling">
    Use `/leveling setup` to choose the level-up channel. Use
    `/leveling config` to add or remove roles awarded at specific levels,
    `/leveling style` for the card style, and `,leveling rank` to check the
    result.
  </Accordion>
</AccordionGroup>

## 6. Test and maintain

Keep a private test channel and test changes there first. Useful health checks include:

```text theme={null}
/ping
/uptime
/stats
/permissions
/antinuke status
,prefix
```

<Note>
  External-service commands—such as music resolution, AI, image search,
  social feeds, and IP/domain lookups—can be affected by provider availability
  or rate limits.
</Note>
