Moderation Commands
Tools to keep your server safe. Every action is logged as a numbered case you can look up later.
Every action becomes a case
Ban, kick, mute, warn, softban, tempban, jail and restrict all funnel through one shared handler internally (not a separate implementation per command), so every one of them is logged identically: a numbered case with a letter prefix matching the action (B- for ban, K- for kick, M- for mute, W- for warn, S- for softban), posted to your mod-log channel with a colored accent bar and the moderator, reason and timestamp as separate fields, not a wall of text.
Look any of it back up with l?case view <id> for one case, or l?case history <user> for everything on record for that member: the same data the dashboard’s Moderation page shows as a table.
Reversing an action resolves the original case
Unban and unmute log their own case too, but they also mark the original ban or mute as resolved, who reversed it and when gets attached directly to that entry instead of leaving two disconnected rows in the log. l?case history reads cleanly even after several reversals.
The target gets DMed before most actions land
For ban, kick, softban and tempban, Lunaris DMs the target the reason before the action actually executes, when Discord allows it. So a banned member generally knows why before they’re removed, not after. Warn works the other way around: the case is created first, so its DM is the only one that includes a case ID.
Targets are always re-verified, never trusted from a stale mention
Before checking role hierarchy or executing anything, Lunaris re-fetches the target by their real Discord ID rather than trusting whatever a message mention or slash-command option cached. That closes a real, previously-shipped bug class where a stale or partially-resolved member object could let a role-hierarchy check silently pass when it should have blocked the action.
Warn thresholds escalate automatically
l?warnthreshold maps a warning count to an automatic action (mute, kick, or ban), so repeat offenders escalate without a moderator having to remember or watch the count manually. It’s a separate system from Guild Protection (antinuke), which has no threshold at all by design: a single unauthorized destructive action there is already treated as severe enough to act on immediately.
Purge vs. masspurge
purge bulk-deletes up to 100 messages in the current channel, optionally filtered to one user: the everyday cleanup tool. masspurge is the incident-response version: it walks every channel in the server deleting one user’s messages within a time window, capped at Discord’s own 14-day bulk-delete limit. Reach for masspurge during a spam or scam-link raid, not as routine moderation.
Commands
l?ban <@user|id> [reason]Ban Membersaka bPermanently bans a member and optionally deletes their recent messages.
l?ban @spammer raiding 1l?hackban <user_id> [reason]Ban MembersBans by raw user ID even if they never joined the server, for ban-list imports or pre-emptively blocking a known raider.
l?hackban 712989123456789012 known raid accountl?softban <@user|id> [days] [reason]Ban Membersaka sbBans then instantly unbans: wipes the user’s recent messages without keeping them banned.
l?softban @user mass mentionl?kick <@user> [reason]Kick MembersRemoves a member from the server. They can rejoin with a new invite.
l?kick @user breaking rulesl?mute <@user> [duration] [reason]Moderate Membersaka stfu, timeout, mTimes a member out using Discord’s native timeout. Max 28 days.
l?mute @user 1h spammingl?restrict <image|reaction|remove> <user>Moderate Membersaka imute, rmuteA lighter touch than a full mute: blocks just image/embed posting or just reactions, without silencing text chat entirely.
l?restrict image @userl?warn <@user> <reason>Moderate MembersIssues a warning. Warnings accumulate and can trigger automatic punishments via warn thresholds.
l?warn @user first warningl?tempban <@user|id> <duration> [reason]Ban Membersaka tbBans for a set time, then automatically unbans when it expires.
l?tempban @user 7dl?massban <id1 id2 id3...> [--reason]AdministratorBans multiple users by ID in one command, for clearing a whole raid list at once.
l?massban 123456789012345678 234567890123456789l?purge <amount> [user]Manage MessagesBulk-deletes up to 100 messages in the current channel, optionally only from one user.
l?purge 50 @userl?masspurge <duration> <user>Manage Messagesaka mpurgeDeletes one user’s messages across every channel in the server within a time window, built for cleaning up a spam or scam raid, not routine moderation.
l?masspurge 1h @spambotl?case <view|history|recent|reason|remove|removeall>Moderate Membersaka cases, modcase, modhistory, modlogsLook up a single case by ID, list every case for a member, edit a case’s reason, or remove one case (or all of a member’s, Admin only) from the record.
l?case history @userl?warnthreshold <set|remove|list> [warns] [action] [duration]Manage Serveraka autowarnAutomatically punishes a member once they reach a warning count: mute, kick or ban.
l?warnthreshold add 3 mute 1hl?warndecay <days> (0 = off)Manage Serveraka warnexpiry, warnexpireAuto-expires warnings after a set number of days, so old ones stop counting toward thresholds.
l?warndecay 30l?warninfo <@user>Moderate MembersLists every active warning for a member with reasons and dates.
l?warninfo @userl?warnreset <@user>Moderate MembersClears every warning for a member, resetting their count to zero.
l?warnreset @userl?wt @userModerate Membersaka quickwarn, warntemplateWarns a member from a pre-set reason template with one click instead of typing a reason each time.
l?wt @userl?modnote <add|list|remove> <user> [text]Moderate Membersaka note, notesPrivate staff notes on a member. Visible to moderators only, never to the member.
l?modnote add @user left on good termsl?appeals <status|toggle|channel|window|cooldown|attempts|evidence|questions|types>Manage Serveraka appeal, banappealLets banned users appeal. The bot DMs them an appeal button before the ban lands, they fill a form you write and can attach proof, and it arrives in your review channel with Approve, Deny and Ask-for-more-info buttons. Approving unbans them.
l?appeals channel #ban-appealsl?jail <setup|add|release>Manage RolesStrips a member’s roles and confines them to a jail channel until released.
l?jail add @user pending reviewl?lock [channel] [reason]Manage ChannelsPrevents members from sending messages in a channel. Use unlock to reverse it.
l?lock #generall?unlock [channel]Manage ChannelsReverses lock, letting members send messages in the channel again.
l?unlock #generall?hide [channel]Manage ChannelsHides a channel from @everyone entirely, rather than just blocking messages like lock does.
l?hide #generall?unhide [channel]Manage ChannelsReverses hide, making the channel visible to @everyone again.
l?unhide #generall?slowmode <off|duration> [channel]Manage Channelsaka slowSets Discord’s per-user message cooldown for a channel.
l?slowmode 10sl?unban <user_id> [reason]Ban MembersLifts a ban so the user can rejoin with a new invite.
l?unban 712989123456789012l?unmute <@user>Moderate MembersRemoves an active timeout from a member before it expires on its own.
l?unmute @userl?stickyroles <enable|disable|status>Manage Serveraka persistrolesRe-applies a member’s roles automatically if they leave and rejoin, so a kicked-and-rejoined member doesn’t come back with a clean slate.
l?stickyroles enablel?decancer <user>Manage Nicknamesaka cleannickStrips hoisting symbols and unreadable Unicode from a nickname so it sorts and displays normally.
l?decancer @userl?forcenick <user> <name|clear>Manage Nicknamesaka fn, forcenicknameLocks a member to a specific nickname; if they try to change it, Lunaris reverts it.
l?forcenick @user xX_Gamer_Xxl?picperms <user> [channel]Manage Channelsaka imagepermsToggles whether a member can post images or links in a channel, without a full mute.
l?picperms @user #generall?massrole <add|remove> <role> [all|humans|bots|role]Manage Rolesaka mrole, bulkroleAdds or removes a role from many members at once, filtered by all members, humans only, bots only or another role.
l?massrole add @Member humansl?giverole <user> <role>Manage Rolesaka addroleGives a single role to a single member.
l?giverole @user @Memberl?takerole <user> <role>Manage Rolesaka removeroleRemoves a single role from a single member.
l?takerole @user @Memberl?ignoredchannelsManage Serveraka ignorechannel, nocommandsManages which channels Lunaris ignores commands in entirely.
l?ignoredchannelsl?temprole <user> <role> <duration>Manage Rolesaka trGives a member a role that is automatically removed once the duration expires.
l?temprole @user @Muted 1hl?nukeManage ChannelsDeletes and instantly recreates the current channel, clearing every message. Irreversible.
l?nukeThis is the full moderation command set. Looking for something else? Search all modules from the docs hub.