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

# Discord

> Discord-Server verbinden, Rollen zuordnen und Roster-Mitgliedschaft synchron halten.

Discord Sync hält deinen Discord-Server mit SquadVault-Spielern und -Teams abgestimmt. Organisations-Admins richten das ein, wenn Discord im Tarif enthalten ist.

Die Seite **Discord** folgt dem üblichen SquadVault-Layout: **Status** (Bot, Guild, Sync-Readiness), dann **Arbeit** (Verbindung → Sync → Mapping), dann **Insights** (Lücken wie unmapped Teams).

<Frame caption="Discord — Verbindung und Sync-Readiness">
  <img src="https://mintcdn.com/squad-vault/1QQgC6jM7iMASl-A/images/screenshots/discord-overview.png?fit=max&auto=format&n=1QQgC6jM7iMASl-A&q=85&s=62fad7a6cf6fd7382ef6566e529ff070" alt="Discord-Seite mit Bot-Verbindung und Sync-Status" width="2337" height="1343" data-path="images/screenshots/discord-overview.png" />
</Frame>

## Discord verbinden

<Steps>
  <Step title="Bot einladen">
    Öffne **Discord** in der Seitenleiste und lade den SquadVault-Bot auf deinen Server ein.
  </Step>

  <Step title="Server verbinden">
    Wähle den Discord-Server, den du mit dieser Organisation verknüpfen willst.
  </Step>

  <Step title="Rollen zuordnen">
    Ordne Discord-Rollen **Spielern**, **Staff** und **Teams** zu, damit die Mitgliedschaft konsistent bleibt.
  </Step>

  <Step title="Sync">
    Starte einen Sync (oder zuerst einen Dry Run) und setze optional einen Log-Channel für Sync-Aktivität.
  </Step>
</Steps>

## Spieler- vs. Staff-Rollen

* **Spieler-Rollen** legen [Spieler](/de/user-guide/teams-and-players) an bzw. archivieren sie, wenn Mitglieder diese Discord-Rollen bekommen oder verlieren.
* **Staff-Rollen** machen dasselbe für org-weite **Staff**-Einträge (siehe **Staff** in der Seitenleiste). Jemand kann Spieler und Staff zugleich sein.
* Discord-Staff-Sync ist **nicht** dasselbe wie **Team-Staff** (Coach/Analyst am Team). Team-Staff bleibt die separate Zuweisung von Organisationsmitgliedern zu einem Team.

## Spieler mit Discord verknüpfen

Im Spielerprofil Discord-Konto verknüpfen, damit Role Sync stimmt. Discord-User-IDs müssen innerhalb der Organisation eindeutig sein.

## Tryout-Bewerbungen

Wenn jemand eine gemappte **Spielerrolle** in Discord erhält, legt Sync den SquadVault-Spieler an oder stellt ihn wieder her. Liegt in derselben Organisation eine offene Tryout-Bewerbung mit derselben Discord-User-ID vor (`pending`, `reviewing` oder `shortlisted`), wird diese Bewerbung automatisch als **angenommen** markiert und mit dem Spieler verknüpft. Flows auf `tryout.accepted` laufen weiterhin.

## Teamlisten

Mit **Pro** oder **Elite** öffnest du **Teamlisten** unter **Organisation** in der Sidebar:

1. Gestalte eine Roster-Nachricht mit Blöcken (Header, Captain, Spieler, MMR, Footer).
2. Wähle Embed oder normale Nachricht, Teams und einen Discord-Channel.
3. Stelle **Automatische Aktualisierung** ein: sofort bei Roster-Änderungen, **nach Zeitplan** (Presets oder erweiterter Cron) oder nur manuell. Neue Zeitpläne nutzen die [Zeitzone der Organisation](/de/user-guide/organizations#allgemein).
4. **Speichern & veröffentlichen** — SquadVault bearbeitet dieselben Discord-Nachrichten, wenn die Liste aktualisiert wird.

Unter **Erweitert** kannst du optional ein **Headerbild** hochladen. SquadVault postet es als eigene Discord-Nachricht **vor** den Roster-Nachrichten. Du kannst wählen, ob es als Discord-Embed oder als normale Nachricht mit Bild-URL gesendet wird. Bild entfernen und erneut veröffentlichen löscht die Header-Nachricht.

Rocket-League-Ranks erscheinen, wenn die Rank-Integration verfügbar ist — sonst bleiben die Spielernamen. Discord zuerst auf der [Discord](/de/user-guide/discord)-Seite verbinden. Mit freigeschalteten Ranks kannst du dort Discord-Custom-Emojis den Tiers (Bronze I → SSL) zuordnen; Teamlisten zeigen dann `{{rankEmoji}}` bzw. den Toggle „Rank-Emoji“. In den Listen-Einstellungen kannst du Spieler zusätzlich **nach MMR sortieren** (höchste oder niedrigste zuerst) statt nach Rolle.

### Custom-Text-Variablen

Mit dem Block **Eigener Text** baust du freie Zeilen. Platzhalter: `{{path}}`. Filter wie `| upper` funktionieren wie in Flows.

| Variable                                                           | Bedeutung                                                                                    |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| `{{team.name}}`, `{{team.averageMmr}}`, …                          | Team-Felder                                                                                  |
| `{{captain.ping}}`, `{{captain.rank}}`, `{{captain.rankEmoji}}`, … | Captain (außerhalb von Loops)                                                                |
| `{{#each players}}…{{/each}}`                                      | Body einmal pro Roster-Spieler                                                               |
| `{{#if captain}}…{{/if}}`                                          | Außerhalb von Loops: wenn ein Captain gesetzt ist. Im Player-Loop: nur auf der Captain-Zeile |
| `{{#if isCaptain}}…{{/if}}`                                        | Im Player-Loop (dort gleichbedeutend mit `#if captain`)                                      |

Im Loop: `{{ping}}` (Discord-Mention), `{{name}}`, `{{nationality}}`, `{{rankEmoji}}`, `{{rank}}`, `{{mmr}}`, `{{mode}}` (Playlist), `{{role}}`, `{{line}}` (formatierte Rank-Zeile aus den Rank-Details, inkl. Emoji wenn gemappt), `{{isCaptain}}`.

Beispiel:

```text theme={null}
{{#if captain}}**Captain:** {{captain.ping}} — {{captain.line}}
{{/if}}
**{{team.name}}**
{{#each players}}• {{ping}} — {{rank}} · {{mmr}} MMR · {{mode}}{{#if captain}} ★{{/if}}
{{/each}}
```

## Mitglieder aus Discord einladen

Staff kann jemanden direkt aus Discord in die SquadVault-Organisation einladen:

1. Rechtsklick auf den User.
2. **Apps** öffnen.
3. **Zu SquadVault einladen** wählen.

Der Bot schickt den Join-Link per DM. Auf der Seite mit Discord anmelden — die Discord-E-Mail muss nicht zur Einladung passen. Blockiert Discord die DM (Privatsphäre), steht der Link in der Command-Antwort, damit Staff ihn teilen kann.

Es gilt dieselbe Staff-Freigabe wie bei `/org` und `/team`. Die Einladung erzeugt die Rolle **member**; die Rolle kann danach in SquadVault geändert werden.

## Tipps

* Vor dem ersten Live-Sync auf einem großen Server einen Dry Run nutzen.
* SquadVault als Quelle der Wahrheit für Roster-Änderungen behalten, dann nach außen syncen.
* Discord-Einstellungen auf Admins beschränken, damit Mappings nicht versehentlich geändert werden.
* Anlegen, Ändern, Publish und Refresh von Teamlisten erscheinen unter **Discord** im [Audit Log](/de/user-guide/audit-log).
* Rollenvergabe und Willkommensnachrichten mit [Flows](/de/user-guide/flows) automatisieren.
* Gesamt-Health der Verbindungen unter [Integrationen](/de/user-guide/integrations) prüfen.

<Info>
  Discord Sync setzt Discord in deinem Tarif voraus. Teamlisten brauchen das Feature `team_liste` (Pro / Elite). Siehe [Abrechnung](/de/user-guide/billing), falls die Seite gesperrt ist.
</Info>
