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

  1. Modul aktivieren: Schalter oben rechts auf der Geburtstags-Seite auf "Aktiv" stellen
  2. Glückwunsch-Channel auswählen: im Tab "Einstellungen" Dropdown "Channel" → gewünschten Kanal wählen
  3. Zeitzone und Uhrzeit setzen (Standard: 00:00 Europe/Berlin)
  4. Optional: Geburtstags-Rolle setzen, Ping-Toggle anpassen, Canvas-Template auswählen
  5. 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 setEigenen Geburtstag privat eintragen oder ändern (max. 1× pro Jahr)
  • /geburtstag removeEigenen Eintrag jederzeit löschen
  • /geburtstag infoGeburtstag eines Users ansehen (ephemeral)
  • /geburtstag panelAdmin: Eintrags-Panel mit Klick-Button im aktuellen Channel posten
Alle User-Befehle antworten ephemeral (nur für den User sichtbar). Tag und Monat sind Pflicht, das Geburtsjahr ist optional und wird nicht angezeigt wenn weggelassen.

Template-Variablen

In der Canvas-Card und dem Fallback-Text stehen folgende Variablen zur Verfügung:

VariableErgebnis
{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.

Standard ist 00:00 Europe/Berlin. Wenn dein Server überwiegend abends aktiv ist, kann 09:00 oder 12:00 sinnvoller sein damit der Glückwunsch gesehen wird.

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:

  • ClassicRosa-orangener Verlauf, großer Titel mit {user.name}, Subtext mit {birthday}
  • ConfettiDunkler Hintergrund, gelber Akzent, zeigt zusätzlich {age}
  • MinimalWeiß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:

  • ÜbersichtWer hat heute Geburtstag, anstehende Geburtstage und Monatsansicht
  • EinträgeTabelle mit allen registrierten Geburtstagen, Such- und Monats-Filter
  • Eintrag hinzufügenAdmin-Workflow: User per Discord-Search-Picker auswählen und Datum eintragen
  • EinstellungenChannel, 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.

Bei Account-Löschung (DSGVO Art. 17) werden Geburtstags-Einträge automatisch per Foreign-Key-Cascade mit dem User-Account gelöscht. Tombstoned User werden vom Glückwunsch-Worker explizit übersprungen.

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.
Geburtstag · TeraOne Docs · TeraOne