Plugins

Moderation

Premium
The all-in-one mod toolkit — slash commands, a numbered case history, raid protection, six logging categories, channel locks and sticky messages.

Moderation is a compound plugin: one master switch, several tabs. This page covers everything except AutoMod, which is large enough to have its own page.

LicensePremium
TabsLogging · Cases · Raid Protection · AutoMod · Channel Locks · Feedback · Sticky · Commands

Cases

Every moderation action Cloudy performs is written to a numbered case: #1, #2, #3, counting up per server and never reused. A case records who was acted on, who acted, the reason, the time and — for temporary punishments — when it expires.

This is the difference between "I think we banned them for spam last spring" and /case 47.

RecordedTypes
Notesnote
Warningswarn
Timeoutstimeout, untimeout
Removalskick, ban, tempban, softban, unban, massban
Cleanuppurge
Automaticautomod

Looking things up

/case <number> shows one case in full. /modlogs <member> shows that member's complete history, newest first. /warnings <member> shows only their active warnings.

The dashboard shows the same history with search and filters, and it is read-only there — cases are created by moderation actions, not by hand.

Warnings and escalation

A warning does two things at once: it creates a case and adds a strike to the member's escalation ledger. The ledger is what AutoMod escalation counts, and strikes can decay after a configurable number of days.

/delwarn removes the strike but keeps the case. That is deliberate: forgiving someone should not erase the record that it happened.

Member notifications

Punitive actions — warn, timeout, kick, ban — DM the member by default, so nobody is left guessing. Notes never do; they are an internal staff annotation the member never sees.

Set an appeal URL in the settings and Cloudy attaches it to the DM for kicks, bans, tempbans and softbans. It can be a form, a second server, an email address — anything reachable by someone who has just lost access to yours.

An appeal link removes most of the "I got banned and nobody will talk to me" DMs your staff receives. It is one field and it pays for itself in a week.

Raid protection

Cloudy watches the join rate. When more than n members join within m seconds, raid mode switches on automatically.

Thresholds

SettingDefaultMeaning
Join threshold10Joins needed to trigger
Window60 sThe span they must fall within
Auto-lift30 minRaid mode ends by itself after this

The defaults suit a mid-sized server. A server that regularly runs advertised events should raise the threshold; a small private server can lower it considerably.

What happens to members who join during a raid

ActionEffect
AlertNothing is done to them — staff is notified only
QuarantineA role is applied that removes their access
KickThey are removed and can return later
BanThey are removed permanently

Quarantine is the default, and the right choice for almost every server. It is the only reversible option: a genuine member caught by a false positive gets their role removed and is fine. A ban issued to fifty real members during a false positive is fifty apologies.

Quarantine requires a role to apply. Create one with no permissions and deny it View Channel in your public categories.

Alerts and verification

Raid mode posts to an alert channel and can ping an alert role — this is the one notification you want to reach a phone at 3 a.m.

With raise verification level on, Cloudy also lifts the server's own verification requirement for the duration and restores your original setting when raid mode lifts.

Raid mode ends by itself after the auto-lift period. You do not need to remember to switch it off, and Cloudy remembers what your settings were before it started.

Account age gate

Independent of raid mode: reject or flag accounts that are too new.

Set a minimum account age in days0 disables the check — and choose what happens to accounts below it:

ActionEffect
AlertStaff is notified, the member joins normally
RoleA role is applied, e.g. a restricted "new account" role
KickThe account is removed and can return once it ages
BanThe account is removed permanently

Seven days stops most throwaway spam accounts. Thirty is aggressive and will catch real people who made an account to join your server — pair a high value with Alert or Role rather than Kick.

Native AutoMod sync

With this on, Cloudy mirrors some of its rules into Discord's own AutoMod, so they are enforced by Discord at the moment a message is sent rather than by a bot reading it afterwards.

Cloudy creates and maintains these rules itself; do not edit them by hand in server settings, as the next sync overwrites your changes. Switching the option off removes the rules it created.

See AutoMod for what is mirrored and what is not.

Logging

Six independent categories. Each has a toggle and its own channel — the toggle decides whether the category is written at all, the channel decides where. A category that is on without a channel logs nothing.

Joins

One embed per new member, with avatar, account age and — where Discord provides it — the invite code they joined through. The account age is the single most useful field here: a wave of accounts created the same day is a raid.

Leaves

Logged when a member leaves or is kicked. Discord does not distinguish the two in the gateway event, so pair this with mod-action logging if you need to tell voluntary leaves from kicks.

Mod actions

Bans, kicks, timeouts and warnings, including the moderator, the reason and the case number. AutoMod hits are mirrored here too, with the rule that fired.

If you only enable one category, make it this one. It is what turns "the bot muted me for nothing" into a two-second lookup.

Messages

Edited and deleted messages with content, author and channel. The highest-volume category, and the most sensitive one — put it in a staff-only channel.

Channel changes

Channels created, deleted and renamed, plus permission updates.

Voice activity

Joins, leaves and channel switches in voice. Noisy on active servers; give it its own channel or leave it off.

All six channel fields accept only channels from this server. Sensitive categories (mod actions, messages) belong somewhere members cannot read.

Channel Locks

A read-only list of the channels currently locked with /channel lock. Locking denies Send Messages for @everyone in that channel and remembers the previous state so /channel unlock restores it exactly.

/lockdown does the same for the whole server at once — the button to reach for while a raid is in progress, not afterwards.

Locks survive a bot restart and are not cleared by a server reset — they live in Discord's permission overwrites, not in Cloudy's configuration.

Feedback

An overview of open feedback requests and their stats. Read-only.

Sticky messages

A sticky message is pinned to the bottom of a channel: whenever someone posts, the bot deletes its own previous copy and reposts it underneath. Ideal for channel rules that must stay visible in a busy chat.

One sticky per channel. Creating a second one for the same channel replaces the first.

Channel

Required

The channel this sticky stays pinned to.

Title

Up to 256 characters · optional

Optional heading above the message body.

Content

1–2000 characters · required

The body. Supports Markdown; reposted to the bottom of the channel on activity. You can also design it as a full embed with the embed builder.

Sticky changes are pushed to the bot immediately, not on a poll — a saved edit is live within seconds.

The bot needs Manage Messages and Read Message History in that channel. Without them it can post the sticky but not remove its previous copy, and the channel fills with duplicates.

Removing a sticky from the dashboard stops the reposting. /sticky-remove-msg does the same from inside Discord.

Commands

Punishments

CommandDoesRequires
/warnWarn a member — case plus a strikeModerate Members
/delwarnRemove a strike, keep the caseModerate Members
/noteAdd a private staff note, no DMModerate Members
/timeoutPut a member in timeoutModerate Members
/untimeoutEnd a timeoutModerate Members
/kickKick a memberKick Members
/banBan a member from the serverBan Members
/tempbanBan for a set duration, lifted automaticallyBan Members
/softbanBan and immediately unban — clears their recent messagesBan Members
/unbanLift a banBan Members
/massbanBan many IDs at onceAdministrator

History

CommandDoesRequires
/caseShow one case by numberModerate Members
/modlogsFull history for one memberModerate Members
/warningsActive warnings for one memberModerate Members

Channels and messages

CommandDoesRequires
/purgeBulk-delete messages, with filtersManage Messages
/del-msgDelete a specific messageManage Messages
/slowmodeSet slowmode on a channelManage Channels
/channel lockLock a channelManage Channels
/channel unlockUnlock a channelManage Channels
/lockdownLock or unlock the entire serverManage Server
/sticky-remove-msgRemove a sticky messageManage Messages
/new-changelogPost a changelog entryManage Server

/massban deliberately requires Administrator rather than Ban Members: it is the most destructive command Cloudy has, and Ban Members is a permission plenty of servers hand to junior staff.

The permission column is what the member running the command needs. Cloudy additionally needs the same permission itself, and its role must sit above the target's highest role — see Permissions.

  • AutoMod — automatic message rules and warn escalation
  • Verification — a gate members pass before they can talk
  • Audit log — Discord's own log, for actions Cloudy did not perform