Discord Bot (Public • Community Utility)
A cozy all-in-one Discord bot for community servers. BloomBot handles welcome and leave messages, saved-message reaction roles, birthdays, daily affirmations, leveling, and achievements with a clean slash-command setup that's easy for server admins to manage.
One-command wizard to configure every feature with buttons and dropdowns.
Custom join and leave messages with channel controls.
Attach emoji-role mappings to an existing message.
Save birthdays and post automatic birthday messages.
Scheduled positive messages with custom additions.
XP, leaderboards, level-ups, and unlockables.
BloomBot is a public Discord bot focused on practical community features: welcoming new members, handling self-assignable roles, celebrating birthdays, posting daily affirmations, tracking chat XP, and unlocking achievements tied to server activity.
It's built around slash commands and per-server settings, so each community can decide which
systems to enable, where announcements should go, and how much automation they want.
The /setup wizard lets admins configure everything from a single interactive panel.
BloomBot is a good fit for gaming servers, cozy friend groups, fandom servers, and growing communities that want helpful automation without feeling bloated.
BloomBot is meant to be invited to multiple Discord servers, with each server able to configure its own channels, toggles, and settings independently.
Run /setup to open an interactive panel that walks you through configuring
every BloomBot feature in one place — no need to remember individual commands.
BloomBot can post customizable join and leave messages in channels you choose.
{user}, {server}, and {membercount}BloomBot uses a saved-message workflow for reaction roles instead of generating a brand-new panel message.
Members can save birthdays, and BloomBot automatically checks for birthdays throughout the day.
BloomBot can post daily affirmations automatically and also supports custom affirmation lists per server.
/affirmation anytimeMembers earn XP by chatting, with built-in cooldown pacing and level-up announcements.
BloomBot includes an achievement system tied to chatting, reactions, joining, birthdays, and leveling.
Most setup commands are admin-only so server owners can configure BloomBot safely.
/setup wizard for one-stop configurationSome BloomBot messages can be customized with simple tags. When the message sends, BloomBot replaces each tag with the right info automatically.
If your welcome message is:
Welcome {mention} to {server}! You are member #{membercount} 🌸
BloomBot might send something like:
Welcome @Luna to Cozy Garden! You are member #142 🌸
{mention} — mentions the member directly{user} — the member's display name / server nickname{username} — the member's Discord username{server} — the server name{membercount} — the current member count{age} — the person's birthday age as a number (birthday messages only){age_ordinal} — the age written like 18th, 21st, etc. (birthday age messages only)These support:
{mention}, {user}, {username},
{server}, {membercount}
These support everything above, plus:
{age}, {age_ordinal}
Welcome {mention} to {server}! You are member #{membercount} 🌸{user} has left {server}. 🍂🎉 Happy Birthday {mention}! Hope you have a lovely day 🌸🎉 Happy {age_ordinal} Birthday {mention}! Hope you have a lovely day 🌸Click the Invite BloomBot button at the top of this page, choose your server, and approve the permissions. Make sure BloomBot's role is above any roles you want it to assign via reaction roles.
The fastest way to configure BloomBot is the interactive setup wizard. It shows a dashboard of every feature, lets you toggle things on and off, pick channels from dropdowns, and set your timezone — all from one ephemeral message.
/setupThe wizard covers: welcome messages, leave messages, birthdays, leveling, achievements, daily affirmations, and server timezone. You can click into any module, configure it, and go back to the main menu.
The setup wizard handles toggles and channels, but to customize your message templates you'll use the individual commands. Use the tags listed above to personalize them.
/setwelcomemessage Welcome {mention} to {server}! 🌸
/setleavemessage {user} has left {server}. 🍂Post a message in your roles channel first (the message you want members to react to), then save it as a panel and add emoji → role mappings.
/reactionroles create panel_name:colors message_id:123456789 channel:#roles
/reactionroles addreaction panel_name:colors emoji:🔴 role:@Red
/reactionroles addreaction panel_name:colors emoji:🔵 role:@BlueIf you used the setup wizard, the birthday channel and toggle are already configured. You can optionally customize the birthday message templates:
/setbirthdaymessage 🎉 Happy Birthday {mention}! 🌸
/setbirthdayagemessage 🎉 Happy {age_ordinal} Birthday {mention}! 🌸
Members use: /setbirthday month:3 day:15 (year is optional)
The setup wizard configures the channel and toggle. To fine-tune the posting time or add custom affirmations, use these commands:
/setaffirmationtime hour:9 minute:0
/addaffirmations
You don't have to set up everything at once. The /setup wizard lets you
come back anytime to toggle features or change channels. Start with welcome/leave and
reaction roles, then add birthdays, affirmations, leveling, and achievements once your
community is active.
/setbirthday — save your birthday/mybirthday — view your saved birthday/removebirthday — remove your saved birthday/nextbirthday — see the next upcoming birthday/affirmation — get a positive affirmation/rank — check your level and XP/leaderboard — view the server XP leaderboard/achievements — view your achievements or another member's/achievementleaderboard — show top members by unlocked achievements/setup — open the interactive setup wizardThe wizard provides an overview dashboard and lets you toggle features, pick channels, and set your timezone using Discord buttons and dropdowns. It covers welcome, leave, birthdays, leveling, achievements, affirmations, and timezone in one place.
/setwelcomechannel — set the channel for welcome messages/setwelcomemessage — set the welcome message template/viewwelcomemessage — view the current welcome message settings/togglewelcome — turn welcome messages on or off/setleavechannel — set the channel for leave messages/setleavemessage — set the leave message template/viewleavemessage — view the current leave message settings/toggleleave — turn leave messages on or off/reactionroles create — save an existing message as a reaction-role panel/reactionroles addreaction — add an emoji → role mapping/reactionroles remove — remove an emoji mapping from a panel/reactionroles delete — delete a reaction role panel entirely/reactionroles list — list all saved reaction role panels/reactionroles show — show one panel's mappings and message link/setbirthdaychannel — set the channel for birthday announcements/togglebirthdays — turn birthday announcements on or off/setbirthdaymessage — set the no-age birthday message template/setbirthdayagemessage — set the with-age birthday message template/viewbirthdaymessage — view the current no-age birthday message/viewbirthdayagemessage — view the current with-age birthday message/resetbirthdaymessage — reset the no-age message to default/resetbirthdayagemessage — reset the with-age message to default/birthdaylist — view all saved birthdays in the server/setaffirmationchannel — set the channel for daily affirmations/toggleaffirmations — turn daily affirmations on or off/setaffirmationtime — set the daily posting time/addaffirmations — add custom affirmations (one per line)/removeaffirmation — remove a custom affirmation by number/clearaffirmations — remove all custom affirmations/listaffirmations — view custom affirmations/sendaffirmationnow — post an affirmation immediately/toggleleveling — turn leveling on or off/setlevelupchannel — set the channel for level-up announcements/givexp — give XP to a member/setlevel — set a member's level directly/setachievementchannel — set the channel for achievement unlock messages/toggleachievements — turn achievements on or off/giveachievement — give a specific achievement to a member/achievementlist — list all achievement IDs and names/settimezone — set the server timezone for birthday and affirmation posts
You can also set the timezone from the /setup wizard using a dropdown of common presets.
Use /settimezone directly if you need an IANA timezone not listed in the wizard.
Run /setup to open an interactive panel that covers all features. It uses
Discord buttons and channel dropdowns so you never need to copy-paste channel IDs.
The wizard handles toggles, channels, and timezone — for message templates and reaction
roles, use the individual commands listed in the command reference.
BloomBot needs Manage Roles for reaction roles to work. Its bot role must be
placed above any roles you want it to assign in your server's role list.
All admin commands (including /setup) require the Administrator permission.
Every major system (welcome, leave, birthdays, affirmations, leveling, achievements) can be
toggled on or off independently — either from /setup or the individual toggle commands.
Turning something off keeps your settings saved — you can turn it back on later without
reconfiguring anything.
The server timezone controls when birthday checks and daily affirmation posts happen.
Set it from the /setup wizard (common presets) or use /settimezone
for any IANA timezone. It defaults to America/New_York if not set.