> For the complete documentation index, see [llms.txt](https://docs.asagi.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.asagi.xyz/members-and-roles/birthdays.md).

# Birthdays

Birthdays lets your server celebrate members automatically with channel messages, direct messages, birthday roles, reminders, congratulations, and personal postcards.

Everything on this page is configured from **Dashboard → Members & Roles → Birthdays**.

Members save their own birthday through Asagi in Discord. The dashboard controls how your server reacts to those saved birthdays. Asagi only needs the month and day.

### Set Up Birthdays

1. Open **Birthdays** in the dashboard.
2. Turn **Active** on.
3. Choose at least one birthday action.
4. Configure the message, role, or reminder settings you want to use.
5. Save your changes.

The main birthday actions are:

* assign a **Birthday role**;
* send the birthday message to **channel**;
* send the birthday message in **DMs**;
* send **Birthday reminders** with Premium.

> 🎬 **Configure Birthdays**
>
> See how to enable Birthdays, choose the actions you want to use, and save your settings.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FHKCe7VKL7xPNhEuUa14C%2FBirthday%20actions.mp4?alt=media&token=dfd23ad5-6ea5-466a-b598-957d65f55e22>" %}

### Birthday Role

Enable **Birthday role** to give the birthday member a temporary role during their celebration.

1. Turn **Birthday role** on.
2. Select the role Asagi should assign.
3. Save your changes.

Asagi keeps the celebration active for about **24 hours**. A birthday role assigned by Asagi is removed when that celebration ends.

If the member already had the selected role before the birthday celebration started, Asagi treats it as pre-existing and does **not** remove it afterward.

Asagi needs **Manage Roles**, and its highest role must be above the birthday role.

### Channel Message

Enable **Send to channel** to post a birthday message publicly.

1. Turn **Send to channel** on.
2. Choose a text or announcement channel. You can also create one from the selector.
3. Open **Channel message**.
4. Choose the message source.
5. Save your changes.

You can choose:

* **Default** — use Asagi's built-in birthday message;
* **Custom** — create your own text or embed;
* **My Templates** — reuse a saved Embed Messages template.

> 🖼️ **Birthday message example**
>
> A public birthday message sent by Asagi in the selected channel.

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2Fa1CoZHCxMnQWutsVdjmD%2Fbirthday%20message.png?alt=media&amp;token=8c81d4e3-c047-4b3f-bf46-cc552c96d603" alt=""><figcaption></figcaption></figure>

### DM Message

Enable **Send the birthday message in DMs** to send a private birthday message directly to the birthday member.

The message supports the same **Default**, **Custom**, and **My Templates** modes as the channel message.

### Birthday Reminders

**Birthday reminders** are a Premium feature. They let Asagi notify a selected channel before a member's birthday.

1. Enable **Send birthday reminders**.
2. Select the **Reminder channel**.
3. Choose how long before the birthday Asagi should send the reminder.
4. Choose **Default**, **Custom**, or **My Templates** for the reminder message.
5. Save your changes.

The reminder offset can be configured in **minutes**, **hours**, or **days**. The default is **7 days before the birthday**.

> 🎬 **Set up birthday reminders**
>
> See how to choose when a reminder is sent, where it appears, and which message Asagi uses.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FXEFlmjsbSEAPs4Cl4ypt%2FBirthday%20reminders.mp4?alt=media&token=9f015f52-e6f1-4992-b709-d78756a37338>" %}

### Congratulations Button

The **Congratulations button** is a Premium feature that adds an interactive button to the public birthday message.

It requires **Send to channel** to be enabled because the button is attached to that message.

When enabled:

* each member can congratulate the birthday member once;
* the birthday member cannot congratulate themselves;
* the button displays the number of congratulations;
* the interaction closes when the birthday celebration ends;
* Asagi can send the birthday member a DM summary with the current congratulations count.

> 🖼️ **Congratulations button**
>
> The congratulations counter updates as members congratulate the birthday member.

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FOboAiO9AnxVlqQHKz4h4%2Fbirthdays%20congratulations%20button.png?alt=media&amp;token=4c9fb706-cf8c-4214-9650-a96ba9dcdede" alt=""><figcaption></figcaption></figure>

### Birthday Postcards

**Birthday postcards** are a Premium feature that lets members send a personal message with text and media to the birthday member.

Postcards require both:

* a public **Channel message**;
* the **Congratulations button**.

#### How Postcards Work

1. A member selects **Send postcard** on the birthday message.
2. Asagi opens the postcard collector in that member's DMs.
3. The member can send content across several DM messages.
4. Asagi shows a preview while the postcard is being built.
5. The member selects **Send postcard** when ready.
6. The birthday member can open their received postcards from the birthday summary in DMs.

> 🎬 **Send a birthday postcard**
>
> See how a member creates, previews, and sends a postcard from the birthday message.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FZuNGPsHBzf01bm9jzteF%2FBirthday%20postcard.mp4?alt=media&token=e8e75670-a47a-4d85-ad93-8df7d660eae1>" %}

A postcard can contain text, images, GIFs, videos, audio, stickers, custom emoji, and links.

> 🖼️ **Received postcard**
>
> A birthday postcard received by the birthday member in their DMs.

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FxPfxT6jR5RpkKttFjqLX%2Fbirthday%20dm%20postcard.png?alt=media&amp;token=1fceea1a-1bee-48f4-ba23-9dbad93c8b15" alt="" width="464"><figcaption></figcaption></figure>

Important postcard limits and behavior:

| Item           | Limit or behavior                            |
| -------------- | -------------------------------------------- |
| Draft time     | 10 minutes                                   |
| Text           | Up to 4,096 characters                       |
| Media          | Up to 20 media items                         |
| Sent postcards | One per sender for that birthday celebration |
| Retention      | Sent postcards are kept for 30 days          |

A member cannot send a postcard to themselves. Sending a postcard also counts that member as a congratulator if they have not already congratulated the birthday member.

Some sticker formats cannot be rendered in postcards. If a sticker is unsupported, Asagi leaves the current draft intact so the member can continue with other content.

> Media is stored using Discord-hosted links. Those links may stop working later, so members should save postcards they want to keep permanently.

### Birthday Date Changes

Asagi limits repeated birthday changes to reduce abuse.

* A newly saved or newly changed birthday has a **24-hour edit window** during which further corrections are allowed.
* After that window, changing the date is blocked until **180 days** have passed from the start of the edit window.
* Removing and re-adding the birthday does not bypass this restriction.

If a birthday is saved or corrected to the current day after the normal celebration time has already passed, Asagi can queue a same-day catch-up celebration. Protection against duplicate celebrations prevents the same member from receiving another celebration for the same period.

### February 29

February 29 is a valid birthday. In a non-leap year, the current default behavior is to observe it on **February 28**.

### Permissions and Troubleshooting

If a channel birthday message or reminder is not delivered, make sure Asagi can view the selected channel and send the configured content there.

If the birthday role is not assigned, check that:

* Asagi has **Manage Roles**;
* the Asagi role is above the birthday role;
* the selected role still exists and is manageable.

If postcards cannot start, check that:

* the server still has Premium;
* **Send to channel** is enabled;
* the **Congratulations button** is enabled;
* the birthday celebration is still active;
* the member can receive DMs from Asagi.

### Where to Go Next

Continue with [**Reaction Roles**](/members-and-roles/reaction-roles.md) to let members assign or remove roles by reacting to messages.
