Overview
The Birthdays plugin lets members save their birthday, lets staff manage birthday entries for other users, and sends automatic birthday wishes in a dedicated channel. It also supports optional age display, a birthday ping role, a temporary birthday role, and an upcoming birthdays calendar on the website.
Timed birthday wishes
Sends a birthday message in the channel you choose, at the configured server-local hour.
Age-aware messages
Uses a separate message template when a member saved a valid birth year and year usage is allowed.
Birthday role
Can assign a temporary role for the member's local birthday day and clean it up afterward.
Upcoming calendar
The next-birthday command includes a button that opens the web birthday board for that server.
Dashboard setup
Open the SiennaNation dashboard, choose your server, then open the Birthdays plugin. The main settings are grouped around messages, year usage, birthday roles, test messages, and command controls.
Customizing birthday messages
Birthday messages support simple variables. The bot sends one message for each member celebrating a birthday, and it blocks broad Discord mentions unless they are explicitly selected through the birthday role fields.
{users}Mentions the birthday member in the regular message template.@Alex{user}Mentions the birthday member, usually used in the age-aware template.@Alex{age}Shows the calculated age only when the member saved a valid year.21It's {users} birthday! Send them some love.Example message with ageIt's the birthday of {user} ({age})! Time to celebrate.Birthday year rules
The plugin has two switches for birth year privacy. Allow year usage lets members submit their full birthday date. Require year usage forces members and staff to use the full date format.
MM-DDsaves only month and day, for example04-16.YYYY-MM-DDsaves the birth year too, for example2001-04-16.- If year usage is disabled, full dates are rejected so age stays private.
- If year usage is required, short dates are rejected so age can always be calculated.
- Leap day birthdays are handled on February 28 in non-leap years.
Slash commands
Each birthday command can be enabled, disabled, or renamed from the Birthdays dashboard. Staff-only commands require the Discord Manage Server permission.
/remember-birthday
Lets a member save their own birthday. Use MM-DD or YYYY-MM-DD depending on the server year rules.
/forget-birthday
Lets a member remove their own saved birthday.
/birthday
Shows the saved birthday for yourself or another member, including days left and age when available.
/next-birthday
Shows upcoming birthdays in a paginated Discord embed and links to the web calendar.
/set-user-birthday
Lets staff with Manage Server save a birthday for another member.
/unset-user-birthday
Lets staff with Manage Server remove another member's saved birthday.
Birthday calendar
The /next-birthday command shows upcoming birthdays inside Discord. If there are more entries, the embed uses navigation buttons. It also includes a See all upcoming birthdays button that opens the website calendar for the selected server.
The web calendar shows saved birthdays, the next birthday date, today's birthdays, active months, and clickable highlighted dates. Users must be logged in and have access to the selected server before they can view the board.
Permissions and common fixes
Most birthday issues are permission or timezone related. Check these before reporting a scheduler problem.
Birthday message did not send
Confirm the plugin is enabled, the channel still exists, the bot can send messages in that channel, and the configured wishing hour has arrived in the server timezone.
Birthday role was not assigned
Make sure the role is not managed by Discord, the bot has Manage Roles, and the SiennaNation bot role is above the selected birthday role.
Age is missing
Age appears only when the member saved a valid year, year usage is allowed, and the saved year produces an age between 0 and 130.