Feature
Discord moderation bot
Every warn, timeout, kick and ban is recorded as a case you can look up, edit and export. Staff notes stay private. Banned members can appeal from their DMs instead of hunting for an alt account.
Cases, not just actions
Each moderation action is stored with its reason and moderator. /mod cases view shows someone's history; /mod cases export saves it as a text file for appeals or handovers.
Private staff notes
Leave context that never reaches the member: "warned verbally in VC", "alt of X". Notes can be exported too.
Ban appeals
Bans can include an appeal link. Appeals arrive in the channel you set with /mod appeal-channel, so you review them in one place.
Precise purges
/mod purge filters by user, role, message type or text, so you can clean up a spam wave without wiping the conversation around it.
Server logs
/logging setup records edits and deletes, joins and leaves, voice moves, and role and channel changes.
Proof attached
Warns, timeouts and bans accept a proof attachment, kept with the case.
Set it up
- Run
/mod log-channeland pick a staff-only channel. Every action Hana takes is posted there. - Run
/mod appeal-channelif you want to accept ban appeals. - Run
/logging setup, then/logging configto choose which events to record. - Drag Hana's role above the roles she needs to moderate (Server Settings → Roles). A bot cannot act on anyone whose top role is higher than its own.
Related guides
Questions
Can moderators without admin use these commands?
Yes. Each command checks the matching Discord permission (for example Ban Members for bans), so moderators only get what their role already allows.
Can a ban be temporary?
Yes. /mod ban add takes an optional duration and Hana lifts the ban when it runs out.
Commands
Staff commands are marked with the permission they need. Full reference.
Moderation
/mod settings
Staff Server moderation setup.
/mod appeal-channel
Manage Server Set the exclusive channel for Tribunal Appeals.
channeloptional Target channel (leave blank to clear).
/mod log-channel
Manage Server Set the exclusive channel for Moderation action logs.
channeloptional Target channel (leave blank to clear).
/mod clone-perms
Manage Server Clone channel perms. SERVER MANAGERS ONLY.
sourceThe channel to copy permissions FROM.targetThe channel to OVERWRITE permissions TO.
/mod lockdown
Manage Channels Instantly freeze or unfreeze a channel during a raid.
actionEnable or Disable.channeloptional Target channel.reasonoptional Lockdown reason.
/mod slowmode
Manage Channels Set channel slowmode.
durationDuration (e.g., 5s, 10m, 1h). '0s' to disable.channeloptional Specific channel (defaults to current).
/mod purge
Manage Messages Advanced chunked message sweep with real-time feedback.
amountNumber of messages (1-1000).useroptional Filter by member.roleoptional Filter by role.filter_typeoptional Filter by type (Bots, Embeds, Links, Attachments, Mentions).containsoptional Filter by text.
/mod kick
Kick Members Kick a member from the server.
targetThe member to kick.reasonoptional Reason for the kick.dmoptional Whether to DM the user with the action detail.
/mod warn
Moderate Members Warn a member.
userThe user to warn.reasonReason for warn.dmoptional Whether to DM the user with the warning details.proofoptional Optional image proof.
/mod ban add
Ban Members Ban a user with an optional Tribunal Appeal link.
userUser to ban.reasonoptional Reason.durationoptional E.g. 5d, 10m (empty for perm).softoptional Instantly unban to wipe messages.purge_daysoptional Days of messages to wipe (0-7).dmoptional DM user.appealableoptional Provide the user an option to appeal their ban.proofoptional Proof attachment.
/mod ban remove
Ban Members Unban a user.
userThe user to unban.reasonoptional Reason for the unban.dmoptional Whether to DM the user notifying them they have been unbanned.
/mod timeout add
Moderate Members Timeout a member.
userUser.durationE.g. 10m, 1h, 1d.reasonoptional Reason.dmoptional DM user.proofoptional Proof attachment.
/mod timeout remove
Moderate Members Remove timeout from a member.
userThe member to lift timeout from.reasonoptional Reason for untimeout.dmoptional Whether to DM the user notifying them their timeout has been lifted.
/mod notes add
Moderate Members Add a note to a user.
userThe user to append a note to.messageThe internal note contents.dmoptional Whether to notify the user via DM regarding the added note.
/mod notes remove
Moderate Members Remove a note using its ID.
userThe user whose note you want to remove.note_idThe unique ID of the note to scrub.dmoptional Whether to notify the user via DM regarding the note removal.
/mod notes view
Moderate Members View notes for a user.
userTarget user.
/mod notes export
Moderate Members Export a user's entire note log as a formatted text file.
userTarget user.
/mod cases view
Moderate Members View moderation cases for a user.
userTarget user.
/mod cases remove
Administrator Remove a moderation case.
case_idThe ID of the case to remove.dmoptional Whether to DM the user notifying them of the case removal.
/mod cases edit
Moderate Members Edit the reason for a specific case.
case_idThe ID of the case to modify.new_reasonThe modified reason for this case ID.dmoptional Whether to DM the user notifying them of the change.
/mod cases export
Moderate Members Export a user's entire case history as a formatted text file.
userTarget user.
Server logs
/logging setup
Staff Pick the log channel and start logging.
/logging config
Staff Choose which events are logged.
Try it on your server.
Free, set up in a few minutes, and easy to remove if it isn't for you.