Birthdays: Announcement, Birthday Role and Time Zone

How Kage handles birthdays: members enter their day by command, Kage announces it and optionally grants a birthday role – with time zone, February 29 and troubleshooting.

Last checked for accuracy: 14 October 2026

With the birthdays module, members enter their own birthday. On the right day, Kage posts a congratulation message in a channel and can optionally grant a birthday role for exactly that day. Only month and day are stored, no birth year.

For a short walkthrough, see the guide Setting up birthdays.

Requirements

  • Access to the module: You sign in to the dashboard with Discord and need the Manage Server permission (or access granted for this module).
  • An announcement channel: Without a channel, Kage posts no message. Kage needs Send Messages there.
  • For the role: Kage needs Manage Roles, and its role must be above the birthday role in the role list.

Commands for members

Every member may only set and remove their own birthday. No special permission is needed. The commands are in the /birthday group (German /geburtstag).

CommandEffect
/birthday setSets your birthday with day (1 to 31) and month (1 to 12). Kage rejects invalid combinations such as April 31. February 29 is allowed.
/birthday showShows a member's birthday, yours by default.
/birthday removeRemoves your saved birthday.
/birthday upcomingShows the next 10 birthdays on the server with "Today", "Tomorrow" or "in N days".

Only you see the replies.

How the module works

Kage checks every 5 minutes who has a birthday. "Today" follows the time zone you choose in the dashboard (default Europe/Berlin).

  1. Announcement: If the automatic message is switched on and a channel is chosen, Kage posts the message for every member with a birthday today. Per member and year it is posted only once, even if an error occurs, so that Kage does not retry every five minutes.
  2. Role: If a birthday role is chosen, Kage grants it on the birthday shortly after midnight in your time zone and removes it as soon as the member no longer has a birthday. So it applies from 0:00 to 24:00. The role works independently of the message; it is granted even when the message is switched off.
  3. Role display: With the option to show the role separately, Kage lists it separately in the member list and sorts it directly below the admin roles. Discord only allows Kage positions below its own highest role. If Kage sits below the admin roles, the birthday role ends up directly below Kage. Move Kage's role far up for this.
  4. Announcements appear in the Logs tab.

February 29

Anyone with a birthday on February 29 celebrates on March 1 in years without a leap day.

The message text

In the text, {member} stands for the mention. Other curly braces make Kage post a simple default sentence instead of your text. The default text is "🎂 Alles Gute zum Geburtstag, {member}! 🎉" (German).

Settings at a glance

Dashboard fieldMeaningDefault
Birthday announcements activeTurns the module onoff
Automatic birthday messageMessage in the channel; off = role onlyon
Announcement channelChannel of the messagenone
MessageText with {member}Happy birthday text (German)
Birthday role (optional)Role for the birthdaynone
Show the role separately in the member listSeparate and sort below the admin rolesoff
Time zoneTime zone for "today"Europe/Berlin

In the dashboard you also see the Upcoming birthdays.

Checking the result

  1. Enter: With a test account, set today's date via /birthday set.
  2. Wait: After the next check (up to 5 minutes), the message appears in the channel and the role is assigned.
  3. Check: /birthday upcoming shows "Today!". The Logs tab names the announcement.

Troubleshooting

No message arrives

Check that the module is on and "Automatic birthday message" is switched on, that a channel is chosen and that Kage may write there. Per member and year the message is posted only once. If a member sets their birthday again with /birthday set, that lock is lifted, and Kage announces the day on the next check if it is "today".

The role is not assigned

Kage needs Manage Roles and must be above the birthday role in the role list. The error appears only in the operating log.

The role disappears too early or too late

The day follows the chosen time zone, not UTC or your personal clock. Check the setting.

The role does not appear separately in the member list

Kage's role is too low. Discord only allows Kage positions below its own role. Move Kage's role further up.

Members do not know the commands

Point them to /birthday set (German /geburtstag setzen). A note in the welcome text is a good idea.

Further reading

Join features at a glance: Welcome and goodbye messages. Roles for members: Auto roles.

Related Kage modules

  • BirthdaysIncluded in Basic

See plans and included modules

Keep reading

More questions? Ask Kage AIAI

Describe what you need – Kage AI picks out the right guide and gives you the sources.

Ask Kage AI

Try Kage on your server

Sign in with Discord, invite the bot and set up the modules in the dashboard. The Basic plan is free forever.