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

  1. 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.
  2. Under Announcement, pick a Birthday channel. If you need a new one, the picker can create it for you.
  3. 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.
  4. Choose Post time and Timezone. Member's follows each member's clock; Server's follows the Server timezone set on General. See Server settings.
  5. 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.
  6. 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:

# birthdays
Birthday BotAPPToday at 9:00 AM
Happy Birthday @Scott!
It's a birthday! @Birthday Squad

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

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
Run the initial setup processes for your server.

/test

Manage Server
Test a birthday or anniversary.
type
required · text
The type of event to test.
  • Birthday
  • Member Anniversary
  • Server Anniversary
user
optional · member
The user to use in this test event. Defaults to the bot for display purposes.
birth_year
optional · 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_year
optional · whole number · 1 to 100
How many years since the member joined or since the server was created.

/edit

Manage Server
Edit the setting of the given celebration type.
/edit ping
2 options
Edit the ping the bot will send with messages of the given celebration type.
type
required · text
The celebration type which you would like to alter the settings of.
  • Birthday
  • Member Anniversary
  • Server Anniversary
ping
optional · text
Who should the bot ping when sending messages of this type. Leave blank to clear the ping setting.
/edit hour
2 options
Edit the hour messages of the given celebration type are sent.
type
required · text
The celebration type which you would like to alter the settings of.
  • Birthday
  • Member Anniversary
  • Server Anniversary
hour
required · whole number · 0 to 23
What time should the bot send messages of the given type. (0 = midnight, 23 = 11:00 PM)
/edit post_mode
2 options
Edit the post mode of the given celebration type.
type
required · text
The celebration type which you would like to alter the settings of.
  • Birthday
  • Member Anniversary
  • Server Anniversary
  • Event
post_mode
required · text
How should the bot post messages of the given type.
  • Post Only
  • Post and Pin
  • Threads
/edit thread_namePremium
2 options
Edit the thread name for messages of the given celebration type.
type
required · text
The celebration type which you would like to alter the settings of.
  • Birthday
  • Member Anniversary
  • Server Anniversary
thread_name
optional · text
The thread name for this type. Placeholders like {Date} work. Leave blank for the default.
/edit channel
2 options
Edit where messages of the given celebration type are sent.
type
required · text
The celebration type which you would like to alter the settings of.
  • Birthday
  • Member Anniversary
  • Server Anniversary
  • Event
channel
optional · channel
Where should the bot send messages of the given type. Leave blank to clear the channel.
/edit role
1 option
Change the birthday role. Leave blank to clear the birthday role.
role
optional · role
The role you would like users to get on their birthday.

/suggest

Manage Server
Suggest a birthday for another user. The user must confirm the suggestion.
user
required · member
The user you are suggesting a birthday for. They will have to confirm this information at the end.
date
optional · text
Their birthday.
time_zone
optional · text
Their time zone. Find this with /map!
year
optional · whole number · 1900 to 2100
The year they were born. Hidden from all servers by default.