Geburtstag
Automatische Glückwünsche, optionale Rolle, Canvas-Card
Das Geburtstags-Modul gratuliert deinen Server-Mitgliedern automatisch zum Geburtstag. User tragen ihr Datum privat ein, der Bot postet pünktlich in der Server-Zeitzone — wahlweise mit grafischer Card und einer Rolle, die nach 24 Stunden automatisch wieder entfernt wird.
Einrichten
- Modul aktivieren: Schalter oben rechts auf der Geburtstags-Seite auf "Aktiv" stellen
- Glückwunsch-Channel auswählen: im Tab "Einstellungen" Dropdown "Channel" → gewünschten Kanal wählen
- Zeitzone und Uhrzeit setzen (Standard: 00:00 Europe/Berlin)
- Optional: Geburtstags-Rolle setzen, Ping-Toggle anpassen, Canvas-Template auswählen
- Auf "Speichern" klicken, danach mit '/'geburtstag panel das Eintrags-Embed in einen Channel posten
User-Befehle im Discord
Server-Mitglieder haben vier Slash-Befehle zur Verfügung:
/geburtstag set— Eigenen Geburtstag privat eintragen oder ändern (max. 1× pro Jahr)/geburtstag remove— Eigenen Eintrag jederzeit löschen/geburtstag info— Geburtstag eines Users ansehen (ephemeral)/geburtstag panel— Admin: Eintrags-Panel mit Klick-Button im aktuellen Channel posten
Template-Variablen
In der Canvas-Card und dem Fallback-Text stehen folgende Variablen zur Verfügung:
| Variable | Ergebnis |
|---|---|
{user} | Erwähnung des Users (Ping) |
{user.name} | Username (ohne Discriminator) |
{age} | Aktuelles Alter (leer wenn kein Jahr eingetragen) |
{day} | Tag als Zahl (z.B. "15") |
{month} | Monat als lokalisierter Name ("Juni") |
{birthday} | Datum lokal formatiert ("15.06." / "06/15") |
{server} | Name des Servers |
Beispiel
🎂 Alles Gute zum Geburtstag, {user}! Heute wirst du {age} — Cheers von {server}.Zeitzone und Uhrzeit
Der Worker scannt jede Minute alle aktiven Server-Configs und feuert den Glückwunsch wenn die Server-Zeit der konfigurierten Notify-Zeit entspricht. Die Zeitzone ist eine IANA-Zone wie Europe/Berlin oder America/New_York — DST-Wechsel sind automatisch berücksichtigt.
Geburtstags-Rolle (optional)
Wenn du eine Rolle konfigurierst, bekommt der User sie zum Glückwunsch-Zeitpunkt für genau 24 Stunden. Die Entfernung läuft als delayed BullMQ-Job — sie überlebt Bot-Restarts und passiert idempotent (entfernt nichts wenn die Rolle bereits weg ist).
Canvas-Card
Im Einstellungen-Tab ist der Welcome-Card-Editor eingebettet (im Birthday-Modus). Drei vorgefertigte Templates stehen zur Auswahl, alle frei anpassbar:
- Classic — Rosa-orangener Verlauf, großer Titel mit {user.name}, Subtext mit {birthday}
- Confetti — Dunkler Hintergrund, gelber Akzent, zeigt zusätzlich {age}
- Minimal — Weißer Hintergrund, dezenter Stil mit {birthday}
29. Februar in Schaltjahren
User die am 29. Februar geboren sind, werden in Nicht-Schaltjahren am 28. Februar gefeiert (entspricht § 187a BGB). In Schaltjahren wie 2024 oder 2028 läuft der Glückwunsch wie gewohnt am 29. Februar.
Dashboard-Tabs
Im Dashboard hat das Geburtstag-Modul vier Tabs:
- Übersicht — Wer hat heute Geburtstag, anstehende Geburtstage und Monatsansicht
- Einträge — Tabelle mit allen registrierten Geburtstagen, Such- und Monats-Filter
- Eintrag hinzufügen — Admin-Workflow: User per Discord-Search-Picker auswählen und Datum eintragen
- Einstellungen — Channel, Zeitzone, Uhrzeit, Rolle, Ping-Toggle, Canvas-Editor und Fallback-Text
Datenschutz
Pflicht ist nur Tag und Monat. Das Geburtsjahr darf weggelassen werden — dann wird kein Alter gespeichert oder angezeigt. Server-Admins sehen die Einträge im Dashboard, aber alle User-Befehle antworten ephemeral, sodass private Eintragungen nicht im Channel sichtbar sind.
Häufige Fragen
- Was passiert wenn der Bot zum Notify-Zeitpunkt offline ist?
- Beim nächsten Bot-Start läuft der Tick-Worker normal weiter. Wenn der Glückwunsch-Tag noch nicht abgelaufen ist und 'lastCelebratedAt' noch nicht gesetzt wurde, wird der Glückwunsch nachgeholt — verspätet, aber genau einmal.
- Können sich User für andere Server-Mitglieder eintragen?
- Nein. Mit '/'geburtstag set tragen User nur ihren eigenen Geburtstag ein. Server-Admins können im Dashboard Einträge für andere User anlegen — das wird in 'addedByUserId' festgehalten.
- Wie oft kann ein User sein Geburtsdatum ändern?
- Maximal einmal pro Jahr (gemessen ab 'lastChangedAt'). Das verhindert Datums-Hopping um wiederholt Glückwünsche oder die Geburtstags-Rolle abzustauben. Server-Admins können die Sperre im Dashboard bei Bedarf umgehen.
- Wird der Glückwunsch in einem Custom-Bot-Setup auch ausgelöst?
- Ja. Der Worker resolved den richtigen Discord-Client per Custom-Bot-Precedence — wenn ein Server einen eigenen Bot konfiguriert hat, postet dieser den Glückwunsch, sonst der TeraOne-Default-Bot.
- Kann ich das Modul testen ohne einen Tag warten zu müssen?
- Ja. Trag dich selbst mit heutigem Datum ein, setze die Notify-Zeit im Einstellungen-Tab auf "jetzt + 2 Minuten" und speichere. Innerhalb der nächsten 2 Minuten erscheint der Glückwunsch im konfigurierten Channel.