Birthdays

Members save their birthday, Arclo announces it at the time and in the time zone you configure with a banner you designed, and hands out a role for the day.

On this page

The same banner pipeline as Boost Messages, on a clock instead of an event. Members set their own date with /birthday set; nobody has to maintain a list.

Setting it up

  1. Switch it on

    Community → Birthdays.

  2. Pick the channel and the time

    The time the announcement goes out (any hour, in five-minute steps) in the time zone you choose. A fresh configuration starts on your server's default time zone if one is set, otherwise on your browser's.

  3. Choose a banner

    18 templates across 6 categories, edited in the banner studio. Or upload your own image; a GIF stays animated.

  4. Optionally add a role

    Birthday role is added when the announcement goes out and removed once their day ends in the server's time zone. Arclo's role must sit above it.

  5. Send yourself a test

    Send test message posts the editor's current design (unsaved changes included) within about twenty seconds, with you as the member turning 21 (no age when birth years are off).

#birthdays
ArcloBOTToday at 12:00 PM
@Wren

🎂 Happy Birthday!

Everyone wish @Wren a happy birthday! 🎉
Announced at the send time you configured, in your server's time zone.

Rules

Birth yearsOptional by default
Optional (members choose), Required or Off (month and day only). A saved year fills {age} and {age_ordinal} and also shows in /birthday view and /birthday upcoming; without one they stay blank. A year has to make the member 13 to 100 years old. Off also hides years already saved.
February 29 birthdays
Celebrated on February 28 (the default) or March 1 in non-leap years.
The mention
The message above the embed starts with {user}, which is what pings the member (a mention inside an embed never does). Delete it for an announcement without a ping.
Combine same-day birthdays
Off by default. Several birthdays on one day become one message: {user} mentions everybody, the name placeholders become a list (eight names, then and N more), the age placeholders stay blank and the banner shows the server icon instead of an avatar.

Announcements are sent once per member per year

Arclo records the year as soon as the announcement posts. Every try is counted before it is sent, so a channel that keeps failing is tried three times and then logged as a failure rather than retried forever. If Arclo is offline at the send time, the announcement goes out once it is back, the same day.

Saving *today* after the send time does not trigger an announcement

Otherwise anybody could have a birthday every day.

The private DM

Birthday DM is an optional greeting sent to the member directly, off by default. It is a separate design, always a classic embed with its own color, and is sent only once the channel message has posted. In a combined announcement each member gets their own, with their own name and age. Closed DMs are skipped without affecting the announcement.

The banner

18 templates across 6 categories, edited in the same banner studio as welcome and boost banners. The member's avatar is drawn into it at send time, and Recolor to embed color (on by default) repaints it in your embed color. Banner text cannot ping, so {user} there prints the display name.

PlaceholderBecomes
{user}Mentions the birthday member
{username}The member's username
{display_name}The member's display name
{user_id}The member's Discord id
{server}The server name
{age}The age they turn (blank without a birth year)
{age_ordinal}"21st" (blank without a birth year)
{member_count}The server's member count
{avatar}Member avatar URL, for icon fields
{server_icon}Server icon URL, for icon fields

Commands

  • /birthday set <month> <day> [year]
    Everyone

    Saves your birthday so the server can celebrate it.

  • /birthday view [member]
    Everyone

    Shows your birthday, or another member's.

  • /birthday upcoming
    Everyone

    Lists the next upcoming birthdays on the server.

  • /birthday calendar
    Everyone

    Shows the server's birthday calendar, grouped by month.

  • /birthday forget
    Everyone

    Removes your birthday from this server.

  • /birthday set-user <member> <month> <day> [year]
    Manage Server

    Saves another member's birthday.

  • /birthday forget-user <member>
    Manage Server

    Removes another member's birthday.

The -user commands let staff set or clear somebody else's birthday, and can be delegated to a role rather than requiring Manage Server.

Logging

Saved and removed birthdays (by the member or by a manager), announcements, role grants and role removals are logged through the Birthdays logger, along with the two failures worth knowing about: an announcement that could not be sent, and a role that could not be granted. Switch it on from this page or from Logging.

Troubleshooting

Nothing was announced today.

Announcements go out at the time you set, in the time zone you set. Check both, and that a channel is picked. A member who saved their birthday as today after that time is deliberately skipped until next year. So is a member already announced this year who then moved their date with /birthday set; /birthday set-user from staff counts as a correction and lets the new date announce.

The birthday role was not removed.

It comes off when the day ends in the server's configured time zone. Arclo also needs its role above the birthday role.

Somebody's birthday shows on the wrong date.

Birthdays are celebrated on the date in the server's configured time zone. Check the timezone setting on the Birthdays page. If the saved date itself is wrong, /birthday set again fixes it.

Can members hide their age?

Each member can: with Birth years on Optional (the default) they simply leave the year out. Set it to Off and no year is kept or shown for anybody, and {age} and {age_ordinal} stay blank.

Still stuck? Ask in the support server: somebody there has almost certainly configured this before.