> For the complete documentation index, see [llms.txt](https://dreamliner.gitbook.io/dreamliner-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dreamliner.gitbook.io/dreamliner-docs/docs/getting-started.md).

# Getting started

Dreamliner uses a **download → edit → upload** workflow for server configuration. After the first upload, you can also manage levels and command access in Discord with `/permissions` (no re-upload needed).

## 1. Invite the bot

Invite Dreamliner to your server with the permissions listed in [Permissions setup](/dreamliner-docs/docs/permissions.md#step-1-bot-invite-permissions).

At minimum you will need:

* Manage Server (for `/config` and `/permissions` commands)
* Manage Messages (for `/clean`)
* Ban Members (for `/bansearch`)
* Move Members (for `/voice` commands)
* Manage Nicknames (for `/nickname`)

The bot also needs standard read/send message permissions in channels where commands are used.

## 2. Download the template

A server administrator runs:

```
/config template
```

This sends `dreamliner-template.yaml` - the default configuration maintained by the bot operator. It includes emoji settings, permission levels, and utility plugin defaults.

## 3. Edit the configuration

Open the YAML file in any text editor. Common first steps:

1. Set `levels` - map your mod/admin role or user IDs to numeric levels (e.g. `50` for mods, `100` for admins).
2. Adjust `emojis` if you want custom success/error/neutral/warning/unchecked prefixes.
3. Enable and configure plugins under `plugins` - see [plugin documentation](broken://pages/ScBf0pRjbQl3XDFHSAMa#plugins) for categories:
   * **Core** - utility commands and infractions
   * **Moderation** - automod, censor, lockdown, persist, slowmode
   * **Roles** - role assignment, reaction roles, self-role panels
   * **Automation** - welcome messages, tags, scheduled posts, counters, and more
   * **Tracking** - name history, stats, locate user
   * **Customization** - custom events and command aliases
   * **Background** - starboard and logs (no slash commands)
   * **Autorole** - assigns join roles automatically; configure with `/autorole` or YAML
4. Tweak `plugins.utility` permissions and overrides.

See [Permissions setup](/dreamliner-docs/docs/permissions.md) for a full walkthrough and examples. See [Configuration](/dreamliner-docs/docs/configuration.md) for the full YAML format.

## 4. Upload your configuration

```
/config upload file:<your-edited.yaml>
```

Dreamliner validates the file, merges it with defaults, saves it to the database, and applies it immediately.

Use `/config validate` to check a file without saving.

## 5. Download your current config

To edit an existing setup:

```
/config download
```

This returns the effective configuration currently stored for your server.

## 6. Use utility commands

Once a configuration is uploaded, moderators can use commands like `/search`, `/user`, `/clean`, and `/help`. Permission is controlled by your YAML config, not just Discord roles.

## Troubleshooting

| Problem                      | Solution                                                                      |
| ---------------------------- | ----------------------------------------------------------------------------- |
| "No configuration yet"       | Run `/config template` → edit → `/config upload`                              |
| "You do not have permission" | See [Permissions setup](/dreamliner-docs/docs/permissions.md#troubleshooting) |
| Upload validation errors     | Run `/config validate` to see specific field errors                           |
| Commands not appearing       | Ask the bot operator to run `pnpm register-commands`                          |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://dreamliner.gitbook.io/dreamliner-docs/docs/getting-started.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
