Moderation
Kick, ban, mute, and manage infractions.
Configure Moderation in the dashboard →
Overview#
Moderation is the manual half of keeping a server in order: warn, mute, kick, ban, softban and tempban, plus the channel controls that go with them. Every action is written to a numbered case, so /cases @member is a full history rather than whatever staff remember.
The member is told what happened. Iris sends them a direct message naming the action, the server and the reason, styled however you want it, and that message is where an appeal starts if you allow appeals.
Appeals arrive in a channel of your choosing with the case attached, so a decision is made against the record rather than an argument in a DM nobody else can see.
Setup#
-
Drag
Irisabove every role you want it to be able to act on, in Server Settings > Roles. -
Open the dashboard and go to Moderation > Moderation, then turn the module on.
-
Set the Mod Log Channel so actions are recorded somewhere you can read them.
-
Optionally pick a Mute Role, or turn on Auto-Create Mute Role.
/muteworks without one: it times the member out either way. -
Style the notice each action sends under DM Messages.
-
Turn on Allow Appeals and pick the Appeal Channel if you want to hear from the people you punish.
Settings#
/mute on top of the timeout. Optional./mute uses the timeout alone.Action DMs are a single red line with a disabled button reading Message from server: <your server>, so the member always knows where the punishment came from. The colour is fixed and the embed has no title.
The DM text accepts {user}, {server}, {reason}, {moderator} and {duration}. Unban notices are off by default; the other five are on.
Commands#
/ban <user> [reason] [delete_days]Ban a member.delete_daysclears that many days of their messages,0to7, and defaults to1. Ban Members/unban <user> [reason]Lift a ban. Takes the user id, or the username the account was banned under. Ban Members/softban <user> [reason] [delete_days]Ban then immediately unban, clearing their recent messages. Ban Members/tempban <user> <duration> [reason] [delete_days]Ban for a set time, then unban automatically. Ban Members/kick <user> [reason]Remove a member. Kick Members/mute <user> [duration] [reason]Time the member out and add the mute role. Leave the duration out for a permanent mute. Timeout Members/unmute <user> [reason]Lift the timeout and take the mute role off. Timeout Members/warn <user> [reason]Warn a member and open a case. Manage Messages/unwarn <user> <warning>Remove a warning. The warning is picked from an autocomplete list of that member's active ones. Manage Messages/warnings <user>List active warnings. Manage Messages/cases <user>The full case history for a member. Manage Messages/case <case_id>The detail of one case. Manage Messages/setnick <user> <nickname>Change a member's nickname. Both options are required. Manage Nicknames/nick [nickname]Change Iris's own nickname in this server. Leave it empty to reset it. Manage Nicknames/vckick <user> [reason]Disconnect a member from voice. Move Members/role add <member> <role> [reason]Give a role. Manage Roles/role remove <member> <role> [reason]Take a role away. Manage Roles/lock [channel] [reason] [duration]Stop the lockdown roles sending in a channel. Set those roles under Anti-Raid first. A duration such as1hunlocks it again on its own. Manage Channels/unlock [channel] [reason]Undo a lock. Manage Channels/lockdown [reason]Lock the whole server down. Administrator/unlockdown [reason]End the lockdown and restore every channel to its original permissions. Administrator/slowmode set <delay> [channel] [reason]Set a channel slowmode delay,0to21600seconds. Defaults to the channel you run it in. Manage Channels/slowmode remove [channel] [reason]Clear the slowmode. Manage Channels
Channel permissions#
The .perms prefix commands change what a role or a single member can do in a channel, without opening Edit Channel > Permissions. Write it like a sentence: who, then allow, deny or reset, then one or more permissions, as in .perms @Members deny send. They act on the channel you run them in; mention another channel anywhere in the command to change that one instead. A mistyped permission is not rejected: Iris asks whether you meant the closest name, with Yes and No buttons. .perms help explains the syntax and has a Show Permissions button with every name.
.perms <role|user> <allow|deny|reset> <permissions...> [#channel]Set permissions for a role or member..perms @Members deny sendstops members talking in this channel;.perms deny send for @Mutedworks too. Useeveryonefor the @everyone role. Manage Permissions.perms role <role> <allow|deny|reset> <permissions...> [#channel]The same, but only matches a role. Use it when a member shares the role's name. Manage Permissions.perms user <user> <allow|deny|reset> <permissions...> [#channel]The same, but only matches a member..perms user @Sam allow view send #stafflets Sam into #staff. Manage Permissions.perms view [#channel] [role|user]Show every override in the channel, or just one role's or member's. Manage Permissions.perms remove <role|user> [#channel]Remove every override that role or member has in the channel. Manage Permissions.perms listEvery permission name with its short forms, such assend,view,history,attachandconnect. Anyone
Purge#
Purge is a group rather than one command. Every subcommand deletes up to 1000 messages and every one takes Manage Messages. Pick the one that describes what you want gone, so a cleanup does not take the conversation with it.
/purge all <count>The most recent messages, whatever they are. Anyone/purge user <user> [count]Only messages from one member. Anyone/purge match <text> [count]Messages containing some text. Anyone/purge not <text> [count]Messages that do not contain that text. Anyone/purge startswith <text> [count]Messages beginning with some text. Anyone/purge endswith <text> [count]Messages ending with some text. Anyone/purge links [count]Messages containing a link. Anyone/purge invites [count]Messages containing a Discord invite. Anyone/purge images [count]Messages with an image or attachment. Anyone/purge mentions [count]Messages that ping a user or role. Anyone/purge embeds [count]Messages containing an embed. Anyone/purge bots [count]Messages from bots. Anyone/purge humans [count]Messages from people rather than bots. Anyone/purge text [count]Plain text only, leaving embeds and attachments alone. Anyone/purge after <message_id> [count]Everything posted after a given message. Anyone
Permissions#
.perms.What it looks like#
Tips and gotchas#
Iris says it cannot ban someone.
Their top role is above Iris, or they are the server owner, who nobody can ban.
The member never got the DM.
Their DMs are closed. The action still applies and the case is still written; only the notice is lost.
How far back does purge reach?
Up to 1000 messages, and Discord refuses to bulk delete anything older than 14 days. Older messages have to go one at a time.
Where do warnings go when I unwarn?
The warning stops counting but the case stays in the history, with the removal recorded against it.
Case