Moderation
Warnings, kicks, bans, mutes, and timeouts. Each logged to your Moderation Log, optionally DMed to the member, with a full per-member strike history.
Overview
All moderation actions run through one shared execution path that checks Aegis's role hierarchy against the target, performs the action, optionally sends the target a DM, writes a row to the dashboard's Mod Log, and posts an embed to whatever channel you've routed that event type to under Logging.
The hierarchy check is Discord's own: Aegis's highest role must sit above the target's highest role, and Aegis needs the relevant permission (Kick/Ban/Moderate Members/Manage Roles). There's no separate check stopping a mod from targeting another mod or admin. Hierarchy is the only gate, other than the server owner always being unbannable.
Commands
Warnings & Notes
offence autocompletes from the server's own offence list, showing each entry's band number beside it, and files the warning in that band. It only changes anything where Strike Automation is running on severity tiers./unwarn only ever removes the most recent warning. There's no way to target a specific older one from Discord. To remove an older one, open that member on the dashboard's Strikes page and delete the entry there.
Punishments
delete_days on /ban doesn't currently delete the banned member's messages. It's accepted in the command but has no effect. Run /purge separately if you need their messages gone.
/mute and /timeout set share the same duration choices: 1 Minute, 5 Minutes, 10 Minutes, 1 Hour, 1 Day, 1 Week. There's no "permanent" option in the slash command itself.
Right-click actions
Kick, Ban and Mute also sit in the right-click menu. Right-click a member, open Apps and pick one, and a box opens for the reason before anything happens. Mute asks for the length in the same box, typed as 10m, 2h, 1d or 1w. Left blank, it mutes indefinitely.
These follow the Mod and Admin roles set on the dashboard's Roles page rather than Discord's own Kick and Ban permissions, so a moderator whose role doesn't carry those Discord permissions can still use them. Everything after that matches the slash command: the same hierarchy check, the same DM to the member, and the same entry in your moderation log.
Utility
Strike Automation
Strikes add up, and at the numbers you choose Aegis acts on its own. That has its own page now: see Strike Automation.
DM Notifications
Under Moderation & Security โ DM on Punishment, each action has its own independent toggle and optional custom message: Warn, Mute, Timeout, Kick, Ban, and Unmute/Unwarn (one toggle covers both undo actions). Leave the message blank to send Aegis's built-in embed (reason, duration, and total warnings where relevant) instead. A custom message supports {user} (mentions the member), {username}, {server} and {reason} everywhere, plus {duration} on Mute and Timeout and {strikes} on Warn and Unwarn. A tag the action does not carry (a strike count in a ban notice, a duration in a kick) renders as nothing rather than as a dash. The tag picker greys out whatever the box you are typing in cannot fill.
A separate DM on Auto-Punishment switch, on the Strike Automation page, covers the escalations that page fires, with a message supporting {user} {username} {server} {action} {strikes} {tier} {step}. {warnings} and {total} are older names for the same number and both still work. {reason} is what the moderator wrote, not the ladder's own explanation of which rung fired. Each punishment (ban, kick, mute, timeout) can also carry its own wording, or be switched off on its own so nothing is sent for that one. A punishment with no wording of its own uses the message above it, and if that is blank too the built-in text is sent, naming the strike count and the action; for a ban it tells the member to press Appeal when Appeals are set up and to contact the moderators otherwise, and for anything else it points them at a ticket. A rung of a severity ladder carrying its own message beats every one of those wordings, though it is still only sent while the switch above and that punishment's own switch are on.
All DMs are best-effort. If the member has DMs closed or has blocked the bot, it fails silently and never blocks the underlying action.
Moderation Log
Every action posts an embed to whichever channel you've routed its event type to on the Logging page. Kick, Mute, Timeout, Warn, Unwarn are grouped under "Moderation"; Ban, Unban, Purge under "Admin". Anything left unrouted falls back to the page's Default Log Channel.
Strike History (Dashboard)
Moderation & Security โ Strikes lists every member carrying a warning, mute, timeout, kick or ban. View History opens that member's entries, with a delete on each and Clear All for the whole record.
Staff notes are kept apart from it. They open from the Notes button beside a member on the Members & Analytics page, and can be edited or deleted there.
Mute Role Setup
/mute and the mute-based Strike Automation and Anti-Scam punishments all use one auto-managed role literally named "Muted" (auto-created, gray, repositioned just below Aegis's own top role). It denies sending messages, reacting, speaking, and streaming, but leaves View Channel and Use Application Commands alone, so muted members can still see what's happening and reach staff via commands.
If channel permissions ever drift (new channels added before the overwrite synced, manual edits, etc.), use Repair Mute Role on the dashboard's Roles page to re-apply the correct overwrites everywhere in one click.