Birthdays

Members register their own birthday and the bot celebrates them on the day — with an optional role, an advance reminder and a leap-day rule.

The Birthdays plugin lets members register their birthday themselves, and the bot celebrates them automatically on the day — a small touch that makes a community feel warmer, with no admin spreadsheet to maintain.

Beta — tested, but still young.

Set it up

  1. Enable the Birthdays plugin in the Plugin Market.
  2. On the Birthdays page, pick the announcement channel.
  3. Everything else is optional — the defaults work.

Commands members use

/birthday set month:7 day:14   — register your date (this server)
/birthday remove               — delete it again
/birthday list                 — the next 15 birthdays here
/birthday show member:@alice   — look up one member (defaults to you)

Only month and day are stored — never the year, so nobody's age is revealed. All replies are visible only to the member who ran the command.

Because people enter their own birthday, it stays accurate and nobody has to share information they'd rather keep private. /birthday remove deletes the entry — and leaving the server removes it too.

What happens on the day

  • CloudMod posts an announcement in your chosen channel — automatic, whether or not a moderator is online.
  • If a birthday role is configured, the member gets it at the announce hour and loses it at the same hour the next day. Anyone else holding that role loses it too — use a dedicated role for this.
  • If CloudMod was offline at the announce hour, it catches up later the same day. A post that fails (missing channel or permission) is retried.

Everyone with a birthday that day is greeted in one message, not one post per person.

Settings

SettingWhat it does
Announcement channelwhere the post goes
Announce hourhour of day (0–23) the post goes out — default 9
Birthday roleoptional; given for the day, removed after
Messageyour own text — {user} mentions everyone celebrating today. Default: "🎉 Happy birthday {user}!"
Announce as an embeda card with title, colour and optional image; off = plain text. On by default
Embed colour / Image URLthe look of that card — e.g. a cake GIF
February 29 birthdayswhich day to use in non-leap years
Advance remindera heads-up a few days before, so people can prepare

The announce hour uses your network's timezone

Not UTC, and not the server's Discord locale — Discord doesn't expose a server timezone at all. The hour is read against the Timezone set under Project settings → General. If that is unset, it means UTC, and "20

" will land at a different local time than you expect.

The same timezone governs events and everything else scheduled, so it is worth setting once.

February 29

Leap day only exists every four years. In the other three, members born on February 29 are greeted on the day you pick: March 1 (default) or February 28. Without this they would be congratulated once every four years.

The rule applies to the advance reminder too, so a February 29 member gets the heads-up as well — not just the greeting.

Advance reminder

Optional, off by default. When on, CloudMod posts a heads-up 1–30 days (default 3) before each birthday so the community can organise something.

  • Reminder channel — optional; defaults to the announcement channel.
  • Reminder message — variables: {user}, {when} (renders as "tomorrow" or "in 3 days") and {days}.

Setup notes

  • Point the announcement at a general or off-topic channel so it feels celebratory, not spammy.
  • Requirement: Send Messages in the announcement channel (plus Embed Links if you use the embed, and Manage Roles if you use a birthday role).
  • The birthday role must sit below the bot's own role, or the bot cannot assign it.