This release adds new admin controls and improves reliability across inactivity workflows, setup, routing, kick dedupe, and reward-role synchronization.
Highlights:
- Added /donate so members can open the optional Buy Me a Coffee link directly in Discord.
- Added /config toggle kick_announcements so admins can disable kicked-member summary announcements without muting other alerts.
- Added /reward reward_grace_dm so admins can pause pre-removal reward-role reminder DMs without disabling reward roles.
- Members using /mute now also suppress reward grace-ending DMs in that server, and /unmute re-enables them.
- /config show now falls back to a clickable root command mention when Discord has not cached a newer subcommand path yet.
- Highscore announcements now honor min_streak_notification inclusively, so a value like 14 triggers at streak 14.
- Setup wizard Set buttons now open their input dialog reliably instead of timing out intermittently.
- Automatic inactivity kicks now ignore duplicate retries within the same run window, preventing duplicate removals and duplicate notifications.
- Shard routing now blocks silent cross-shard fallbacks and auto-repairs missing guild-to-shard mappings, reducing guild-count drift.
- New guild joins now seed shard mappings before premium checks, preventing join-time routing errors.
- Rejoining members now start from a clean activity baseline, preventing stale counters from blocking reward-role sync.
- Expired Supporter roles are now removed before stale vote-state cleanup, keeping role expiry reliable while old cache rows are pruned.
Release notes: https://cleanerbot.eu/changelog/v2-17-0/