No-nonsense moderation, audit-grade logging, and setup diagnostics β all in one bot.
π― Why Kaira?
Most moderation bots either miss features or break silently when admins forget to drag the bot role up. Kaira solves both:
- π·οΈ Unique Case IDs (
CASE-XXXX-XXXXXX) for every infraction β look up any action weeks later with/case - β±οΈ Native Discord timeouts by default, with a mute-role fallback for punishments longer than 28 days
- π
/diagnoseβ one command that checks every permission, role-hierarchy position, log channel, and configured roles, then tells admins exactly what to fix - π Privacy-first:
/privacybaked in,/resetdatawipes all server data on demand, and we never share data with third parties
π¨ Moderation Suite
Every mod action writes to both the infraction database and the mod log (if enabled).
| Command | What it does |
|---|---|
/warn @user reason: |
Warn a member, DM them the reason, and log it |
/mute @user duration:1h reason: |
Native timeout (β€28d) or mute-role fallback β use use_role:True to force the role |
/unmute @user |
Remove timeout and/or mute role in one command |
/kick @user reason: |
Kick with reason and Case ID |
/ban @user reason: delete_messages:0 |
Permanent ban (0-7 days of messages deleted) |
/tempban @user duration:7d reason: |
Temporary ban β Kaira auto-unbans on expiry |
/unban @user reason: |
Unban by ID or mention |
/purge amount:50 from_user: |
Bulk delete 1-100 messages (<14d old), optionally from a single user |
All commands validate role hierarchy so staff canβt ban admins, and the bot canβt punish members above its top role.
π Infraction Tracking
/warnings @user active_only:Trueβ full history of warns, mutes, kicks, bans, timeouts, and purges for a member/case CASE-0001-ABC123β deep-dive into any action (who did it, when, reason, duration, target, state)/modlogs limit:50β recent moderation activity across the server
π 6 Log Categories
Run /setlog channel:#logs once, then toggle each stream with /logtoggle type category:
| Category | Events recorded |
|---|---|
| π© Message Logs | Deleted messages, edited messages |
| π¦ Member Logs | Joins, leaves, account-age on join |
| πͺ Mod Logs | Warns, mutes, kicks, bans, purges, unbans, unmutes |
| π₯ Ban/Kick Logs | Bans, unbans, and kicks (from Discordβs audit log stream) |
| π§ Role/Nick Logs | Role add/remove, nickname changes |
| π¨ Channel Logs | Channel creates, deletes |
Ignore filters (toggle with /logtoggle ignore rule:):
- π€
Ignore Botsβ skip bot activity - π«
Ignore Log Channelβ donβt log what happens inside the log channel itself
π Welcome & Autorole
/setwelcome channel:#welcomeβ configure join & leave messages in their own channel- Placeholders:
{user}{username}{tag}{userid}{server}{membercount} - Preview templates with
/setwelcome preview /setautorole role:@NewMember enabled:Trueβ auto-assign a role to every new member- Failures are isolated β one broken autorole wonβt block the join log or welcome message
βοΈ Settings Dashboard
/settings gives admins a single, color-coded view:
- Core toggles (autorole, mute-role, native-timeout default, bug reports)
- Each log category state
- Ignore rules
- Welcome/leave channel + preview of messages
- Footer links to every config command
π§ͺ Diagnostics (Your βIt Wonβt Work?β Button)
We canβt make admins drag the bot role up β but we can tell them exactly when and why itβs broken.
Run /diagnose for a live report:
β
Permissions check β 13 flags (9 critical, 4 optional) with per-feature explanations
β
Role hierarchy β counts roles above/below the bot, flags unreachable members
β
Settings sanity β log channel perms, welcome channel perms, autorole/mute-role relative position
β
Action Items list β tells the admin exactly which settings page to open
Default ephemeral (only you see it); add public:True to share with the team.
π Privacy & Control
/privacyβ full, always-up-to-date privacy policy & ToS right in Discord/resetdataβ server admins wipe all Kaira-held data for their server at any time (Manage Server, irreversible)/bugreport title: description:β rate-limited user feedback channel (admins can disable in settings)- We store: settings, infractions, timed-punishment expiry, and bug reports. Nothing more.
π οΈ Utility Commands
/pingβ bot latency & uptime/helpβ tabbed command reference (Utility / Moderation / Infractions / Config)/bugreportβ send feedback or bug reports to the bot owner
π Quick Start
After inviting Kaira, any admin can get fully set up in ~2 minutes:
- Server Settings β Roles β drag the Kaira role near the top, above any roles it should manage or moderate
- Run
/diagnose public:Trueto confirm everything is green /setlog channel:#logsand/logtoggle type category:ModLogs(repeat for each category you want)- Optional:
/setwelcome channel:#welcome+/setautorole role:@Member - Done.
π Notes
- Slash commands are guild-only (no DM usage β avoids permission crashes)
- Punishments exceeding Nodeβs timer limits are re-scheduled automatically
- If Kaira stops responding, just re-run
/diagnoseβ 9 out of 10 times itβs the bot role position π