🎂 BIRTHDAY

Niemand vergisst mehr einen Geburtstag.

User tragen ihr Datum privat per Slash-Befehl oder Panel-Button ein. Der Bot gratuliert automatisch zur konfigurierten Uhrzeit in der Server-Zeitzone — mit dem gleichen Canvas-Editor wie Welcome-Cards. Optional bekommt der User eine Geburtstags-Rolle für 24 Stunden, die danach automatisch entfernt wird.

Was {title} kann

Privat-Eintragung via Slash-Command

/geburtstag set öffnet ein Modal — TT.MM ist Pflicht, Jahr ist optional. /geburtstag remove und /geburtstag info @user runden den User-Befehl ab.

Panel mit Eintragungs-Button

/geburtstag panel postet ein persistentes Embed mit 🎂-Button. Klick öffnet dasselbe Modal — perfekt für einen 'Geburtstage'-Channel.

Zeitzone & Uhrzeit pro Server

Standard: 00:00 Europe/Berlin. Frei wählbare IANA-Zeitzone und Minute-genaue Uhrzeit. Der Worker scannt jede Minute und feuert pünktlich in der Server-TZ.

Canvas-Card identisch zu Welcome

marketing.features.birthday.cap_4_desc

Automatische 24h-Rolle

Optional: bei Glückwunsch wird eine konfigurierbare Rolle gesetzt und genau 24h später automatisch entfernt. Idempotent gegen Bot-Restarts und Permission-Flaps.

Dashboard-Verwaltung

Vier Tabs: Übersicht (Heute/Anstehende/Monat), Einträge (Tabelle mit Such- und Monats-Filter), Hinzufügen (User-Picker mit Discord-Search), Einstellungen (Channel/TZ/Rolle/Canvas).

Im Detail

Datenschutz: Jahr ist optional

marketing.features.birthday.sec_1_body

Schaltjahr-Logik

Wer am 29. Februar Geburtstag hat, wird 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.

Admin-Workflow im Dashboard

Admins können Einträge für andere User anlegen — der MemberPicker durchsucht die Discord-Member per @-mention-Stil. Eingetragene Daten kann ein Admin jederzeit bearbeiten oder löschen, der User selbst nur einmal pro Jahr ändern (Spam-Schutz gegen Datums-Hopping).

Idempotenz & Resilienz

Der Fire-Worker setzt lastCelebratedAt atomar via Race-Claim. Bot-Restart innerhalb der Notify-Minute → kein Doppel-Glückwunsch. Channel gelöscht oder Bot ohne ManageRoles → Glückwunsch trotzdem versendet, Rolle wird geloggt aber nicht crasht. Suspended Guilds werden explizit übersprungen.

Häufige Fragen zu {title}

Muss ich mein Geburtsjahr angeben?

marketing.features.birthday.faq_1_a

Was passiert wenn am gleichen Tag mehrere Geburtstag haben?

Jeder bekommt seine eigene Glückwunsch-Nachricht mit eigener Card und eigenem Ping. So hat jeder seinen Moment.

Wie lange bleibt die Geburtstags-Rolle?

Genau 24 Stunden ab dem Glückwunsch-Zeitpunkt. Die Entfernung läuft als delayed BullMQ-Job — überlebt Bot-Restarts und ist idempotent (entfernt nichts, wenn die Rolle bereits weg ist).

Kann ich die Glückwunsch-Card optisch frei gestalten?

marketing.features.birthday.faq_4_a

Wer kann den Eintrag eines Users ändern?

Der User selbst maximal einmal pro Jahr (gegen Datums-Hopping). Server-Admins jederzeit über das Dashboard — das wird im addedByUserId-Feld festgehalten.

Was passiert mit Geburtstags-Daten wenn ein Account gelöscht wird?

Birthday-Einträge werden per Foreign-Key-Cascade automatisch mit dem User-Account gelöscht. Bei einem User-Tombstone (DSGVO Art. 17) gratuliert der Bot dem Account ebenfalls nicht mehr.

Weitere Module

Bereit für TeraOne?

Zwei Klicks bis zur Einrichtung. Kein Onboarding, keine Kreditkarte.

Discord Geburtstags-Bot — Glückwünsche & Rolle automatisch | TeraOne · TeraOne