Discord Bot (Public • Community Utility)
A cozy all-in-one Discord bot for community servers. BloomBot handles welcome and leave messages, reaction roles, birthdays, daily affirmations, Twitch stream announcements, leveling, and achievements — all configurable through a single interactive setup wizard.
One-command wizard to configure every feature.
Emoji-role mappings on any existing message.
Go-live announcements for your stream and friends.
XP, leaderboards, level-ups, and unlockables.
Run /setup to open an interactive panel that walks through every feature
in one place. Toggle systems on/off, pick channels from native dropdowns, and set your
timezone — all from a single ephemeral message that updates as you go.
Post customizable join and leave messages in channels you choose.
Separate channels, separate templates, and independent toggles for each.
Supports placeholders like {user}, {server}, and {membercount}.
Point BloomBot at any existing message, save it as a panel, and add emoji → role mappings. Members gain or lose roles by adding/removing reactions. No bot-generated panel message needed.
Members save their birthdays and BloomBot automatically posts announcements throughout the day. Optional year support for age display, customizable message templates, and timezone-aware checking.
Automatic daily affirmation posts at a time you set. Add custom affirmations per server,
or let members use /affirmation anytime for an on-demand boost.
Announce when the server owner or friends go live on Twitch — each in separate channels.
Customizable messages with {streamer}, {title}, {game}, and more.
Stream thumbnails included automatically, and only announces once per live session.
Members earn 15–25 XP per message (45-second cooldown) with level-up announcements in a channel you choose. Admins can manually give XP or set levels directly.
14 built-in achievements tied to chatting, reactions, leveling, birthdays, and joining. Automatic unlock announcements, optional images, member views, and a leaderboard.
BloomBot messages can be customized with simple tags that get replaced automatically when sent.
Welcome {mention} to {server}! You are member #{membercount} 🌸
→ Welcome @Luna to Cozy Garden! You are member #142 🌸
{mention} — mentions the member directly
{user} — display name / server nickname
{username} — Discord username
{server} — server name
{membercount} — current member count
{age} — birthday age as a number (birthday only)
{age_ordinal} — age like 18th, 21st (birthday only)
{streamer} — Twitch display name
{title} — stream title
{game} — game or category
{url} — full Twitch URL
{viewers} — current viewer count
Click Invite BloomBot at the top of this page and approve the permissions. Make sure BloomBot's role is above any roles you want it to assign.
/setupThe wizard covers every feature: welcome, leave, birthdays, leveling, achievements, affirmations, Twitch, and timezone. Toggle things on/off, pick channels from dropdowns, and configure everything from one interactive panel.
The wizard handles toggles and channels. For message templates, use the individual commands:
/setwelcomemessage Welcome {mention} to {server}! 🌸
/setleavemessage {user} has left {server}. 🍂
/setbirthdaymessage 🎉 Happy Birthday {mention}! 🌸Post a message in your roles channel first, then save it as a panel and add mappings:
/reactionroles create panel_name:colors message_id:123456789 channel:#roles
/reactionroles addreaction panel_name:colors emoji:🔴 role:@RedToggle Twitch on in the wizard, then set usernames and channels:
/settwitchowner username:YourTwitchName
/settwitchownerchannel channel:#my-stream
/addtwitchfriend username:FriendName
/settwitchfriendschannel channel:#friends-live
You don't have to set up everything at once. Start with welcome/leave and reaction roles,
then add more features as your community grows. The /setup wizard is always
available to toggle things on or change channels later.
/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 or another member's achievements/achievementleaderboard — top members by achievements/setup — open the interactive setup wizard/settimezone — set server timezone (IANA format)/setwelcomechannel — set the welcome channel/setwelcomemessage — set the welcome message template/viewwelcomemessage — view current welcome message/togglewelcome — turn welcome messages on or off/setleavechannel — set the leave channel/setleavemessage — set the leave message template/viewleavemessage — view current leave message/toggleleave — turn leave messages on or off/reactionroles create — save an existing message as a panel/reactionroles addreaction — add an emoji → role mapping/reactionroles remove — remove a mapping from a panel/reactionroles delete — delete a panel entirely/reactionroles list — list all saved panels/reactionroles show — show a panel's mappings and link/setbirthdaychannel — set the birthday announcement channel/togglebirthdays — turn birthday announcements on or off/setbirthdaymessage — set the no-age birthday template/setbirthdayagemessage — set the with-age birthday template/viewbirthdaymessage — view current no-age message/viewbirthdayagemessage — view current with-age message/resetbirthdaymessage — reset no-age message to default/resetbirthdayagemessage — reset with-age message to default/birthdaylist — view all saved birthdays in the server/setaffirmationchannel — set the daily affirmation channel/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 your custom affirmations/sendaffirmationnow — post an affirmation immediately/toggletwitch — turn Twitch announcements on or off/twitchstatus — view current Twitch configuration/settwitchowner — set the owner's Twitch username/settwitchownerchannel — set the owner announcement channel/settwitchownermessage — customize the owner announcement/addtwitchfriend — add a friend's Twitch username/removetwitchfriend — remove a friend from the list/listtwitchfriends — view all tracked friends/settwitchfriendschannel — set the friends announcement channel/settwitchfriendsmessage — customize the friends announcement/toggleleveling — turn leveling on or off/setlevelupchannel — set the level-up announcement channel/givexp — give XP to a member/setlevel — set a member's level directly/toggleachievements — turn achievements on or off/setachievementchannel — set the achievement announcement channel/giveachievement — give an achievement to a member/achievementlist — list all achievement IDs and namesBloomBot needs Manage Roles for reaction roles. Its bot role must be above any roles you want it to assign. All admin commands require Administrator.
Every system can be toggled on or off independently. Turning something off keeps your settings saved — turn it back on later without reconfiguring.
The server timezone controls birthday checks and affirmation posts.
Set it from /setup or use /settimezone for any IANA timezone.
Defaults to America/New_York.