Set up birthday celebrations
On this page
Choose a birthday channel so Birthday Bot knows where to post. You can also choose a birthday role to give members on their day.
On the website
- Open your server and choose Birthdays. On a phone or a narrow window, the dashboard's sections are a row of buttons at the top of the page, under the server's name: swipe the row sideways to find Birthdays.
- Under Announcement, pick a Birthday channel. If you need a new one, the picker can create it for you.
- Optionally pick a Birthday role. Use a role dedicated to birthdays: each day the bot removes it from everyone who is not being celebrated that day, so a role that means something else would keep being taken away.
- Choose Post time and Timezone. Member's follows each member's clock; Server's follows the Server timezone set on General. See Server settings.
- Review Post mode and Ping. The ping is posted in the birthday message, at the bottom of a card or above plain text, and notifies the roles and members it mentions. With Premium, when Post mode is Threads, you can also set a Thread name (see How is the thread named?). Then press Save changes.
- Open Overview and check its permission warnings. Follow any fix shown, then re-check. Missing permissions explains these checks.
What success looks like
The save bar says Changes saved. On Overview, the setup checklist shows Birthday channel set, and Birthday role set if you chose a role.
When an eligible member's birthday reaches your post time, the bot posts in that channel:

That is the built-in message, with a Ping that mentions a role on its last line. Customize your messages to change the wording, and with Premium, to add a title, color, or image.
Can I add birthdays for my members?
Not on the website: each member adds their own birthday, once, on My settings or in Discord, and it then works in every server they share with Birthday Bot. Point your members to Set your birthday, which has both ways. Birthday Bot cannot read birthdays from Discord.
In your server, staff can suggest a birthday for a member with /suggest (by default it needs Manage Server). Choose the member (they must be in your server), then answer the birthday and time zone questions, or fill them in as options. Birthday Bot sends the member a direct message with the suggested date next to the birthday they have saved now, if any, and buttons that name what they save: Save with the date, Save with the date and no year (only when you suggested a year), and Decline. If Birthday Bot cannot DM them, the suggestion is posted in the channel where you ran /suggest instead, as a new message, under the bot's reply, that mentions the member so they are notified. It does not show their saved birthday, and only that member can use its buttons. The bot's reply to your command tells you which of the two happened. Nothing is saved until the member saves it, and the suggestion does not expire.
Saving makes the birthday the member's own, for every server they share with Birthday Bot, the same as if they had set it themselves. It is not a birthday kept only for your server. If you suggest again before the member answers, the newer suggestion replaces the earlier one, and only the newest can be answered.
If the member declines, nothing is saved. Declining does not stop your server from suggesting again, so you can send a corrected date right away. The message the member sees after declining offers them a button to block suggestions from your server for 30 days. If they block it, running /suggest for them during that time tells you so, in a message only you can see, with the date you can suggest again.
How is the thread named?
With Premium, when Post mode is Threads, Birthday Bot opens a thread under each birthday announcement. The Thread name field sits beside Post mode (below it on a phone). While the post mode is something else, the field shows the name greyed out with a Use Threads link, which switches Post mode to Threads.
Leave Thread name empty to use the default: a cake emoji followed by the names of the members celebrated. To write your own, type it or click a placeholder shown with the field to insert it, and the example under the field shows how a thread would be named. The date placeholder writes the birthday as a month and day. A thread name can be up to 100 characters. A thread title is plain text, so members are named there, never mentioned. Birthday Bot refuses to save a thread name with a placeholder this celebration never fills in. Placeholders lists the ones you can use.
Where are birthday announcements posted?
Birthday Bot posts announcements in the Birthday channel you select under Announcement on Birthdays. The bot needs permission to view the channel, send messages, and embed links. Extra actions, such as pinning or creating threads, need extra permissions, which the dashboard checks for you.
How does the birthday role work?
It is an optional role for members celebrating a birthday. Birthday Bot gives it on their birthday and removes it after their birthday ends, following the chosen time zone. The bot needs Manage Roles, and its highest role must sit above the birthday role in Discord's role list.
Whose time zone decides the birthday?
The Timezone choice on Birthdays decides whether birthdays follow each member's time zone or your server's. Set a Server timezone on General before choosing Server's. Server settings explains the difference.
Can I celebrate without showing ages?
Yes. Turn on Disable ages under Options on Birthdays and save. This hides ages in this server even when members have shared a birth year and allowed their age to show.
Common problems
- Nothing was posted. Check the channel and permission warnings first, then follow A birthday was not announced.
- The role was not given. Check the role's warning and follow The birthday role was not given or not removed.
- The message arrived at the wrong hour. Check Post time and Timezone, then see A message was posted at the wrong time.
Using Discord instead
The setup command walks you through choosing or creating a birthday channel and role. The test command runs a celebration without waiting for the date and reports what happened. It can post a real message and give roles, so run it when you are ready for members to see the result. The editing command changes announcement settings, including the thread name.
When the setup command finishes, its completion message has the line "Next: customize messages, anniversaries and more on the server dashboard", which links to this server's dashboard.
The suggest command sends a member a suggested birthday to confirm, by direct message, or in the channel, mentioning the member so they are notified, when Birthday Bot cannot DM them; see Can I add birthdays for my members?.
/setup
Manage Server/test
Manage ServerTest a birthday or anniversary.
/test
Manage Servertyperequired · text- The type of event to test.
- Birthday
- Member Anniversary
- Server Anniversary
useroptional · member- The user to use in this test event. Defaults to the bot for display purposes.
birth_yearoptional · whole number · 1900 to 2500- The birth year of the user to be used in the test. Used with the age and year placeholder.
anniversary_yearoptional · whole number · 1 to 100- How many years since the member joined or since the server was created.
/edit
Manage ServerEdit the setting of the given celebration type.
/edit
Manage Server/edit ping2 optionsEdit the ping the bot will send with messages of the given celebration type.
/edit pingtyperequired · text- The celebration type which you would like to alter the settings of.
- Birthday
- Member Anniversary
- Server Anniversary
pingoptional · text- Who should the bot ping when sending messages of this type. Leave blank to clear the ping setting.
/edit hour2 optionsEdit the hour messages of the given celebration type are sent.
/edit hourtyperequired · text- The celebration type which you would like to alter the settings of.
- Birthday
- Member Anniversary
- Server Anniversary
hourrequired · whole number · 0 to 23- What time should the bot send messages of the given type. (0 = midnight, 23 = 11:00 PM)
/edit post_mode2 optionsEdit the post mode of the given celebration type.
/edit post_modetyperequired · text- The celebration type which you would like to alter the settings of.
- Birthday
- Member Anniversary
- Server Anniversary
- Event
post_moderequired · text- How should the bot post messages of the given type.
- Post Only
- Post and Pin
- Threads
/edit thread_namePremium2 optionsEdit the thread name for messages of the given celebration type.
/edit thread_namePremiumtyperequired · text- The celebration type which you would like to alter the settings of.
- Birthday
- Member Anniversary
- Server Anniversary
thread_nameoptional · text- The thread name for this type. Placeholders like {Date} work. Leave blank for the default.
/edit channel2 optionsEdit where messages of the given celebration type are sent.
/edit channeltyperequired · text- The celebration type which you would like to alter the settings of.
- Birthday
- Member Anniversary
- Server Anniversary
- Event
channeloptional · channel- Where should the bot send messages of the given type. Leave blank to clear the channel.
/edit role1 optionChange the birthday role. Leave blank to clear the birthday role.
/edit roleroleoptional · role- The role you would like users to get on their birthday.
/suggest
Manage ServerSuggest a birthday for another user. The user must confirm the suggestion.
/suggest
Manage Serveruserrequired · member- The user you are suggesting a birthday for. They will have to confirm this information at the end.
dateoptional · text- Their birthday.
time_zoneoptional · text- Their time zone. Find this with /map!
yearoptional · whole number · 1900 to 2100- The year they were born. Hidden from all servers by default.
Premium