Commands

/birthday
Set your birthday. Running it again overwrites your previous entry.
month: required day: required

How It Works

An hourly check computes "today" and assigns a ๐ŸŽ‚ Birthday role (auto-created if it doesn't exist) to every member whose birthday matches, and removes it from anyone holding it whose birthday isn't today, so it's always a same-day-only badge. On bot restart, the role is immediately re-applied to anyone whose birthday is that day, so a restart never misses it.

The announcement itself only posts once per day, at your configured Notify Hour (default 9 AM).

Birthdays has an on/off switch at the top of its page, on by default. Turning it off stops the announcement, stops the role being handed out, and the next hourly pass takes the ๐ŸŽ‚ Birthday role back off anyone still wearing it. /birthday says the system is turned off rather than saving anything. Saved birthdays are kept, so turning it back on picks up where it left off.

โš ๏ธ

Birthday day/time calculations always use a fixed timezone (Mountain Time), not each server's or member's own timezone, so "9 AM" means 9 AM Mountain Time everywhere.

โš ๏ธ

The dashboard's "Birthday Role" picker is currently cosmetic. The role that actually gets assigned/removed is always the auto-managed ๐ŸŽ‚ Birthday role, not whatever role you pick there.

Announcement

Posted as an embed (default gold, #f9a825) with the birthday member's avatar as a thumbnail. Message supports {user} {username} {server}, picked at random from a pool if you've configured more than one. The embed's title and footer print the member's name rather than a mention, because Discord shows no mention inside either, so {username} is the tag to use in those two boxes. Optional pings: the birthday member themself, and/or a role.

Dashboard Settings

SettingDefault
EnabledOn
Announcement ChannelNone (required for the message to post)
Notify Hour9 AM (Mountain Time)
Message / message pool"Happy birthday {user}! ๐ŸŽ‚"
Ping user / ping roleOff

The dashboard also lists every saved birthday for the server, with the ability to remove an individual member's entry.