Revolutionize your Discord community’s activity and cleanliness with the innovative Decay Score System.
CleanerBot has evolved. It’s no longer just an inactivity manager. It’s a powerful, proactive community hygiene tool. Say goodbye to manual cleanups. Welcome automated, intelligent member retention. Whether you nurture a niche community or oversee a bustling public server, CleanerBot offers a unique blend of gamification and utility. It ensures your community stays vibrant and engaged without you lifting a finger.
CleanerBot is lightweight and privacy-friendly. No admin rights are required! It’s built for peak performance. It’s time to transform how you manage inactivity. Foster a thriving, active environment.
💡 Introducing the Decay Score System
CleanerBot introduces the Decay Score System. This differs from traditional activity tracking. Every member accumulates a Decay Score D(t)
. This score increases over time with inactivity. It directly influences configurable moderation actions. Inactivity becomes a transparent, actionable metric. Think of it as an “inactivity XP” system. The higher the score, the more inactive a member is.
Your Decay Score increases daily. This happens unless you perform qualifying engagement actions. These include:
- 💬 Sending a message
- 👍 Adding a reaction
- 🎧 Joining voice or stage channels
- 🤖 Using a slash command or button
When a member’s score hits a configured threshold, CleanerBot can trigger automated actions:
- ⚠️ Warnings: Gently remind members to re-engage.
- 🎭 Role Assignment: Automatically assign a special “Decay Role” (e.g., “Inactive Member”).
- 🦶 Removal Suggestions/Auto-Kick: Flag members for review or automatically remove them. This keeps your server fresh.
Your Decay Score is reduced or reset by activity. It can also be influenced by server-side configurations or special “Decay Boost” roles. These roles slow down the score’s increase for valued members (e.g., VIPs, donors).
🛠️ Key Features of the Decay Score System
- 📈 Dynamic Inactivity Tracking: Clear metrics for engagement. Your Decay Score grows with inactivity.
- 🎯 Customizable Thresholds: Set specific Decay Scores. Trigger warnings, role changes, or kick suggestions. Tailor them to your needs.
- ⚙️ Automated Actions: CleanerBot handles warnings, role assignments, and kicks. Save your moderation team time.
- 🛡️ Decay Boost Roles: Configure roles (e.g., Donators, Staff). Their members decay slower. Acknowledge their contributions.
- 🔍 Transparency for Members: Members can check their Decay Score. They understand what counts as activity.
- 💬 Multi-Language Support: CleanerBot speaks your language. It supports over 20 languages!
- 📊 Detailed Reporting: Export decay data. Get comprehensive engagement trend analysis.
- 🚫 No Bloat, No Spam: Focused purely on efficient community hygiene.
💼 Real-World Use Cases
- Proactive Member Retention: Identify at-risk members. Encourage re-engagement before they leave.
- Automated Role Management: Effortlessly assign or remove roles based on real activity levels.
- Maintaining a Clean Member List: Automatically flag or remove truly inactive “ghost” accounts.
- Optimizing Server Performance: A cleaner member list leads to better server performance and less clutter.
- Fair & Transparent Moderation: Implement objective, behavior-based moderation for inactivity.
📊 Decay Score in Action: Examples
Here’s how the Decay Score system works in practice. These are based on typical server settings:
Example Scenario:- Decay Interval (λ): 1 point per day of inactivity
- Decay Reset: Enabled (score resets to 0 on any qualifying activity)
- Warning Threshold: 14 points
- Decay Role Threshold: 42 points (e.g., assigns “@Inactive Member” role)
- Kick Threshold: 84 points
- Auto-Kick: Disabled (manual review in a designated channel)
- User “Alice” joins with $D(t)=0$.
- For 30 days, Alice chats regularly. She participates in voice calls and uses commands.
- Result: Alice’s Decay Score remains at 0. Her activity constantly resets it. No actions are triggered.
- User “Bob” goes inactive for 10 days ($D(t)=10$).
- Bob remains inactive for another 5 days ($D(t)=15$).
- Action: Since $15 > 14$ (Warning Threshold), Bob receives an automated warning message. It reminds him to engage.
- Following the warning, Bob sends a message in a general chat.
- Action: Because “Decay Reset” is enabled, Bob’s Decay Score immediately resets to 0. He is no longer at risk for further actions.
- User “Charlie” is inactive for 45 days ($D(t)=45$).
- Action: Since $45 > 42$ (Decay Role Threshold), CleanerBot automatically assigns the “@Inactive Member” role to Charlie. This visually signals his inactivity.
- User “Diana” is inactive for 85 days ($D(t)=85$).
- Action: Since $85 > 84$ (Kick Threshold) and “Auto-Kick” is disabled, CleanerBot sends an embed to your designated
#kick-review
channel. This is for staff to manually review her removal.
- User “Eve” has a “Donator” role. It has a Decay Boost that reduces her decay increment by 50%.
- Eve goes inactive for 10 days.
- Result: Instead of 10 points, Eve’s score increases by only 5 points ($10 \text{ days} \times 0.5 \text{ points/day}$). This ensures valuable members aren’t penalized for short absences.
🚀 Get Started in 1 Minute!
Type /start
in your server. This will initiate the interactive setup wizard. CleanerBot will guide you through setting up your Decay Score thresholds. It will also help you assign roles, define activity rules, and enable or disable automatic kicks. Your server can be cleaner, more active, and fully automated in minutes!
📸 Screenshots
Decay Report (
/report_decay
)/config show
)/config check_permissions
)/help
)🕹️ Command Overview
CleanerBot primarily uses Discord’s native Slash Commands. This provides a seamless user experience.
General Commands/help
: Displays all available commands and their descriptions./my_decay_score
: Shows your current decay score and a brief history./export_decay_data
: [Bot Admin] Exports guild decay data as a CSV file (requires permissions)./report_decay
: Reports members with decay scores above the warning threshold./decay_top10 order:[highest|lowest] limit:[1-20]
: Shows users with the highest or lowest decay scores. This gamifies inactivity./next_check
: Shows when the next decay calculation cycle will run.
/config set_decay_interval <days>
: Sets how often decay score increases (e.g.,1
for daily)./config set_decay_increment <value>
: Sets how much decay score increases per interval (e.g.,1
)./config toggle_decay_reset <true|false>
: Toggles full score reset or partial reduction on activity./config set_decay_reduction <value>
: Sets how much decay score is reduced on activity (if not full reset)./config set_warning_threshold <score>
: Sets the decay score for a member warning./config set_decay_role_threshold <score>
: Sets the decay score for “decay role” assignment./config set_kick_threshold <score>
: Sets the decay score making a member eligible for kicking./config toggle_auto_kick <true|false>
: Iftrue
, members are automatically kicked at the threshold./config set_manual_kick_channel <channel>
: Sets channel for manual kick review embeds ifauto_kick
isfalse
./config add_decay_boost_role <role>
: Adds a role whose members decay slower./config remove_decay_boost_role <role>
: Removes a role from decay boost roles./config set_language <language_code>
: Changes the bot’s language for the guild (e.g.,en
,de
)./config set_admin_role <role>
: Sets the role that can use admin commands for this guild./config set_inactive_role <role>
: Sets the role assigned when a member hits the decay role threshold./config add_default_role <role>
: Adds a role new members automatically receive on joining./config remove_default_role <role>
: Removes a role from default roles for new members./config add_exempt_roles <role1> [role2]...
: Adds roles exempt from inactivity checks./config remove_exempt_roles <role1> [role2]...
: Removes roles from exempt roles./config set_warning_channel <channel>
: Sets the channel for warning messages./config set_staff_notification_channel <channel>
: Sets the channel for staff notifications./config toggle_reactions_as_activity <true|false>
: Sets whether reactions count as activity./config add_whitelisted_channel <channel1> [channel2]...
: Adds channels the bot should NOT scan for activity./config remove_whitelisted_channel <channel1> [channel2]...
: Removes channels from the whitelist./config clear_whitelisted_channels
: Clears all channels from the whitelist./config clear_default_roles
: Clears all default roles./config clear_exempt_roles
: Clears all exempt roles./config show
: Displays the current configuration for this guild./config validate
: Checks if the guild setup is complete and usable./config check_permissions
: Checks the bot’s permissions in the current guild.
/admin set_decay_score <user> <score>
: Sets the decay score for a specific user (0-100)./admin reset_all_decay_scores
: Resets all decay scores for all guild members to 0 (irreversible).
/premium
: Learn about CleanerBot’s premium features!/checkpremium
: Check the current premium status for this guild./guildtiers
: Displays member limits for each tier.
🌍 Supported Languages
CleanerBot offers extensive language support for global communities:
- English
- Bulgarian
- Chinese (Simplified Mandarin)
- Croatian
- Czech
- Danish
- Dutch
- Finnish
- French
- German
- Greek
- Hindi
- Italian
- Japanese
- Norwegian
- Polish
- Portuguese
- Romanian
- Serbian
- Slovak
- Slovene
- Swedish
- Ukrainian
🔗 Useful Links