Review inactive members before removing anyone
Inactive Members is a Free module for reviewing server-local participation. It is off by default and starts in report-only mode: no one is kicked. Track timestamps for visible messages, available reaction additions and eligible voice or stage activity, without storing content or recordings.
Start freeNo credit card · Free forever plan · Online 24/7
Run an initial report to establish observation, then allow the full threshold (30 days by default, minimum 7). Read each candidate’s sources, timestamps and exclusions in your private audit channel. If you choose to remove members, enable enforcement separately and explicitly confirm a fresh report. There is no automatic kick schedule.
What you get
Protect people before taking action
Bots, owners, administrators, pending members, new members and selected roles or users are exempt. The default join-age protection is 14 days. Members at or above the bot’s highest role are excluded. Reports work without Kick Members; removals require it and Manage Server for the operator.
Warn, wait and recheck
Opt into warning DMs, then use /inact warn with a reviewed report ID. The default grace period is 7 days (1–29 configurable). Failed DMs still receive the full grace period. New activity cancels warnings. Create a new report after grace; every removal rechecks activity, roles, permissions and membership.
Small caps and a durable audit
The default cap is 10 per run and 25 per guild per UTC day; both are configurable up to 25. Failed or uncertain attempts consume quota. Every report and removal is posted to a private audit channel, with a Discord audit reason on each kick. Missing audit access blocks removals. Errors stop the run without application retries.
Example commands
| Command | What it does |
|---|---|
/inact status | Inspect settings and today’s used kick-attempt allowance. Configure the module in the dashboard. |
/inact report | Post all candidates and exclusions, with last-seen source timestamps and coverage. Kicks nobody. The report ID expires after one hour. |
/inact warn report:ID | With warning DMs enabled, warn candidates from a reviewed report; respects the per-run cap. |
/inact enforce report:ID confirm:true | With enforcement separately enabled, confirm a reviewed report. Only still-eligible candidates can be removed, within both caps. |
Full command list and configuration options in the Inactive Members documentation.
Set up a report-first workflow
Enable Inactive Members for your bot and grant Server Members Intent in Discord. In dashboard settings, choose a private staff audit channel where the bot can view and send messages; @everyone must not be able to view it.
Select activity sources, join-age protection and exempt roles such as Staff or On hiatus. Save collection as enabled. The first save keeps enforcement off. Run /inact report and let the observation window complete.
Review a report before action. If warning DMs are enabled, run /inact warn and wait for grace. Enable removals separately, create a fresh report, review its ID and confirm /inact enforce. Never treat missing activity as proof that someone has stopped reading.
What does it cost?
Inactive Members is included in Free, including reports, exemptions, warnings and capped removals.
- 1 hosted bot, online 24/7
- 16 free-forever modules, including Inactive Members
- 10 custom commands
- No credit card required
- 3 bots
- All 44 modules
- AI Module Builder (50 credits/mo)
Frequently asked questions
What counts as activity, and what can the bot miss?
Visible messages, available reaction additions and non-AFK voice/stage sessions count when their sources are enabled. Voice requires at least 60 seconds (configurable to 600), excludes deafened or suppressed members, includes solo calls, and refreshes every 30 seconds. Reading, presence and inaccessible/private threads are not measured. No Leveling or Voice XP history is imported. A complete member scan requires Server Members Intent, never Presence Intent. Scans support up to 10,000 members.
Can stale data or a restart lead to removals?
A full observation window is required. Restarting, gateway interruptions, collection gaps or missing channel access reset that window and invalidate reports. A report remains useful when nobody qualifies. Enforcement fails closed without a complete member snapshot, fresh collection, bot permission or private audit destination. It is available only through explicitly confirmed slash commands.
Is this Free, and what data is kept?
Yes, including report-only mode, exemptions, warnings and capped removals. The module stores only last-seen timestamps by source, observation start, current warning and run/audit metadata. Member rows are deleted on leave; reports expire after one hour, warnings after 30 days, and audit metadata after 90 days by default (up to 180). Audit-channel messages follow the server’s own retention policy.
Related modules
Add Inactive Members to your server today
Enable collection when you are ready, inspect a private report and keep removals off until you have reviewed the evidence.
Start freeNo credit card · Free forever plan · Online 24/7
