Chroma5
Enterprise Discord community management
Chroma5 is a fully-featured, auto-sharded Discord utility bot built for serious communities. It covers everything from granular permission-based moderation and temporary roles to Stripe subscription monetization, interactive embeds, and giveaways — all backed by a persistent MySQL database with Sentry error monitoring.
Moderation
Full-featured moderation suite with granular permission controls. Every action is logged to your audit webhook so nothing goes untracked.
- Kick members with reason logging
- Ban & unban with permanent audit trail
- Mute (timeout) with custom duration
- Permission-based access — only trusted roles/users can moderate
- Role hierarchy enforcement — can't kick someone above your rank
- All actions sent to your configured log webhook
Role Management
A powerful role permission matrix lets you delegate who can assign which roles — without giving them full Discord admin. Supports both role-based and user-based delegation.
- /assignrole — assign any permitted role to a member
- /removerole — remove a role from a member
- /role permissions — configure who can assign a specific role
- /listroleperms — view the full permission matrix for your server
- Role-admin flag: let trusted users manage permissions for specific roles
- Prevents assigning roles equal to or above the assigner's top role
- Self-role assignment support for user-configurable roles
Temporary Roles
Assign time-limited roles that automatically expire. Perfect for trial access, event attendance, giveaway prizes, and boosted-member perks.
- /temprole — assign a temp role to a single user
- /masstemprole — bulk-assign a temp role to multiple users at once
- Time units: Minutes, Hours, Days, Weeks, Months
- Automatic role removal when the timer expires (background task, checks every 60s)
- Event Temp Roles — auto-removed when the Discord event ends
- Channel Member Temp Roles — role granted based on channel membership
- /temprole check — view all active temp roles for a user
- Right-click context menu to check a user's temp roles
Giveaway System
Host role-based giveaways directly in Discord. Entries are tracked in the database, the embed updates live with entry counts, and winners are drawn automatically.
- Create giveaways with a role prize
- Live entry count updating on the giveaway embed (every 5 minutes)
- One-click entry via button interaction
- Automated winner selection at end date
- Giveaway management access controlled by the permission system
- Automatic cleanup of expired giveaways
Permissions System
Chroma5's custom permission engine sits on top of Discord's native permissions. Grant specific command triggers to any role or user — no need to grant server-wide admin.
- /permission — add or remove a trigger permission for a role or user
- Supported triggers: kick, ban, unban, mute, masstemprole, embed_creator,
- allow_role_self, manage_role_perms, createRole, giveawayRole, guild_admin
- Server owner always has full access regardless of settings
- Permission checks run server-side — not just Discord native perms
- Permissions are stored per-guild in the database
Embed Manager
Create and edit professional Discord embeds using an interactive button-driven UI — no JSON editing required.
- /embed create — launch the interactive embed builder
- /embed edit [message_id] — edit an existing embed
- Configure: Author name, Author icon, Author URL
- Configure: Title, URL, Description
- Configure: Image, Thumbnail
- Configure: Footer text, Footer icon
- Access controlled via the permissions system
DM & Logging
Send DMs to members via the bot and forward incoming DMs to a configured channel. Full DM logging ensures staff are always in the loop.
- /dmuser — send a private DM to a server member via the bot
- Incoming DM forwarding to a staff channel
- DM event logging system with database persistence
- Guild-specific alert on member join notifications
- Personalized server info / onboarding messages
- All events queued through a reliable background message queue
Ready to deploy Chroma5?
Follow the setup guide to get your bot online, then use the command reference to configure every feature.