NinthDOCS

Features / Moderation and cases

Moderation and cases

Ninth Bot's moderation commands act on Discord and record a numbered case for every action. This page is for moderators and admins.

Who can moderate

Each command needs the matching Discord permission, both for you and for the bot. There is no separate moderator role. The bot also checks the role hierarchy: see Roles and permissions.

CommandNeeds
/warn, /note, /timeoutModerate Members
/kickKick Members
/ban, /unbanBan Members
/purgeManage Messages in the channel

All replies are private to you. Each one shows the case number and, for actions that DM the member, whether the DM was delivered.

Commands

Warn

/warn user:@member reason:Spamming invites

Records a warning and DMs the member. The member must be in the server, and a reason (up to 1000 characters) is required.

Timeout

/timeout set user:@member duration:2h reason:Heated argument
/timeout remove user:@member reason:Cooled down

/timeout set times the member out for 10 seconds up to 28 days and DMs them. /timeout remove lifts an active timeout early, closes the timeout case and adds a note to the mod log. It doesn't create a new case.

Kick

/kick user:@member reason:Repeated spam after warnings

DMs the member first, then removes them from the server. If the kick fails, the case is cancelled and the member gets a second DM saying the kick did not go through.

Ban

/ban user:@member reason:Raid account duration:7d delete-messages:Previous 24 hours

Bans anyone, including users who aren't in the server. Leave out duration for a permanent ban, or give one up to 365 days for a temporary ban. delete-messages removes their recent messages: none, the previous hour, 6 hours, 24 hours, 3 days or 7 days.

Members still in the server get a DM before the ban. When ban appeals are on, the DM explains how to appeal and has an Appeal this ban button. Banning someone who is already banned is refused.

Unban

/unban user-id:123456789012345678 reason:Appeal accepted

Takes a user ID (or a mention). Lifts the ban, closes any open ban case and records an unban case. The member isn't sent a DM.

Purge

/purge amount:50 user:@member reason:Spam wave

Deletes 2 to 100 recent messages in the current channel. With user, only that person's messages are deleted, searching the last 1000 messages. Pinned messages are skipped, and Discord doesn't allow bulk deleting messages older than 14 days. The bot needs View Channel, Read Message History and Manage Messages in the channel. A purge records a case and shows up in the message log as a bulk delete.

Note

/note user:@member note:Spoke to them privately about language

A private staff note. The member isn't told, nothing happens on Discord, and it works for users who left the server.

The Moderate menu

Right-click a member, choose Apps, then Moderate. You get a private panel with buttons for Warn, Timeout, Kick, Ban and Note. You only see the buttons you have permission for, and only Ban and Note for someone who isn't in the server.

Each button opens a short form with the same fields as the matching command. The panel only works for the moderator who opened it and expires after 15 minutes. The same panel opens from the Moderate author button in the message log.

Durations

Write durations as a number and a unit, and combine units if you like.

UnitMeaningExample
sseconds30s
mminutes10m
hhours2h
ddays7d
wweeks2w

1d12h is a day and a half. The shortest duration is 10 seconds.

DMs to the member

ActionDM
Warn, timeout, kick"You were warned in", "timed out in" or "kicked from" your server, with the reason, any duration and the case number
BanThe same, plus the appeal button when appeals are on. Only sent if they are still in the server
Unban, note, purge, timeout removalNo DM

DMs are best effort. If a member has DMs turned off, the action still goes ahead and your reply says the DM was not delivered.

Cases

Every action, and every report, gets a case number. Numbers start at 1 in each server and go up by one, shared across all case types.

A case shows the type, the member, the moderator, the reason, and the duration and expiry for timeouts and temporary bans. Cases are active or inactive: a ban stays active until it is lifted, and a kick is recorded as inactive straight away.

Looking up cases

/case number:42
/history user:@member

/case shows one case and its earlier reasons. The number option suggests recent cases as you type. /history shows a member's profile, with their cases newest first, 10 per page. Reports only count in a member's history once a moderator marks them valid. Both commands need Moderate Members.

Editing a reason

/reason number:42 reason:Spamming invite links in #general

You can also press Edit reason under a case in the mod log or on /case. Only the moderator who made the case, or someone with Manage Server, can edit its reason. Anyone else sees "Only the case's moderator or someone with Manage Server can edit its reason."

Every edit is kept. The mod log gets a new entry showing the previous and new reason, and /case lists the last five earlier reasons. Saving the same reason changes nothing.

Evidence

Files and links are added to a case on the dashboard, not in Discord. The same rule applies: the case's moderator or Manage Server. See Cases and tickets.

The mod log

Set a mod log channel in /setup, under Moderation & logs. Every new case is posted there with an Edit reason button. The mod log also gets reason edits, report reviews, ban appeals, setup changes, the weekly summary and warnings, such as a failed auto-unban.

Temporary bans end on their own

When a temporary ban expires, the bot lifts it within about a minute, closes the ban case and records an unban case with the reason "Temporary ban expired (case #12)." If the bot can't lift the ban, it posts a warning in the mod log and keeps trying every 5 minutes. Check its Ban Members permission, or unban by hand with /unban.

Weekly summary

Every Monday at 09:00 (Amsterdam time) the bot posts a summary of the previous Monday to Sunday in the mod log:

  • Cases by type, and the total.
  • Tickets opened and closed, and the average time to close.
  • Reports filed.
  • Top moderators and the most-actioned users.
  • A comparison with the week before.

It is on by default. Turn it off under Moderation & logs in /setup, or on the dashboard. It needs a mod log channel.