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

# Overview

> Run automated scrims and tournaments — registration, slotlists, groups and a self-serve slot manager.

# Overview

> Run automated scrims and tournaments — registration, slotlists, groups and a self-serve slot manager.

## What it does

The Esports module automates the two most tedious jobs in a competitive server: **scrim registration** and **tournament registration**. Members register their team by sending a message that mentions their teammates in a registration channel — raze validates it, assigns a slot, reacts, and keeps a live slotlist. No staff spreadsheet, no manual counting.

There are two systems:

<CardGroup cols={2}>
  <Card title="Scrims" icon="calendar-days" href="/esports/scrims">
    Daily, recurring practice matches. Registration opens automatically at a set time each day and closes when full.
  </Card>

  <Card title="Tournaments" icon="trophy" href="/esports/tournaments">
    One-off events with a confirmation feed, group generation, and a self-serve slot manager panel.
  </Card>
</CardGroup>

## How registration works

The flow is the same for both systems:

<Steps>
  <Step title="Registration opens">
    The registration channel is unlocked (manually, or on a schedule for scrims) and raze posts an **OPEN** notice (including the required message format if set).
  </Step>

  <Step title="A member registers">
    They send a message in the channel that mentions their teammates — for example:

    ```text theme={null} theme={null}
    Team Phantom
    @teammate1 @teammate2 @teammate3
    ```
  </Step>

  <Step title="raze validates & assigns">
    raze checks the requirements (enough mentions, minimum lines, team name, not banned, not already registered). If it passes, the next free slot is assigned, the team role is granted, and the message is reacted with ✅.
  </Step>

  <Step title="Registration closes">
    When every slot is filled — or when staff close it — the channel locks again and the **slotlist** is posted.
  </Step>
</Steps>

<Note>
  Invalid registrations are reacted instead of assigned: ❌ requirements not met, ⚠️ already registered, 🚫 banned from this scrim/tournament.
</Note>

## Permissions

All configuration commands (`create`, `open`, `close`, `ban`, `delete`, …) require **Manage Server**. Registering for a slot requires no special permission unless an **open role** is set.

<Tip>
  Set an **open role** so only verified members can register, and a separate **team role** that gets handed out automatically to everyone who secures a slot.
</Tip>
