PangobotDocs
EN
Safety

Moderation Free

Bans, kicks, timeouts, warnings and a full case history.

The classic tools - ban, kick, timeout, warn - with a case for everything: who, whom, why, when. Cases can be looked up, edited and removed (a removed case no longer counts, but stays in /history, struck through), and a member's history is one command away.

Setting it up

  1. Pick a mod-log channel that only your staff can see. Every case except a /note is posted there (a note still takes a case number), and so is every purge, with who did it.
  2. Decide whether members get a direct message when they are punished, and add appeal instructions - your own text, and with Add the address of your ban appeal form the address of the ban-appeal form from Forms.
  3. Optional: preset reasons for your moderators, immune roles, warnings that expire, and automatic escalation - for example a one-hour timeout at three active warnings.
Moderation: the mod-log channel, preset reasons and automatic escalation steps.
Moderation: the mod-log channel, preset reasons and automatic escalation steps.

Commands

<required> [optional] - "who may use it" is Discord's default; a server's admins can change it per command under Server Settings > Integrations.

/ban

Ban Members
/ban <user> [reason] [duration] [delete_days]

Ban a user (optionally temporary)

  • usermemberUser or user ID
  • reasontext, optionalReason (shown in the mod log and DM)
  • durationtext, optionalTemporary ban, e.g. 7d or 12h
  • delete_dayswhole number, optionalDelete their messages from the last N days (Don't delete any · Last 24 hours · Last 2 days · Last 3 days · Last 4 days · Last 5 days · Last 6 days · Last 7 days)

/unban

Ban Members
/unban <user> [reason]

Unban a user

  • usermemberUser ID
  • reasontext, optionalReason (shown in the mod log and DM)

/kick

Kick Members
/kick <user> [reason]

Kick a member

  • usermemberThe member
  • reasontext, optionalReason (shown in the mod log and DM)

/softban

Ban Members
/softban <user> [reason]

Ban and immediately unban to wipe a member's recent messages

  • usermemberThe member
  • reasontext, optionalReason (shown in the mod log and DM)

/timeout

Timeout Members
/timeout <user> [duration] [reason]

Time a member out (mute)

  • usermemberThe member
  • durationtext, optionale.g. 10m, 2h, 7d - left out: 28 days, the longest Discord allows
  • reasontext, optionalReason (shown in the mod log and DM)

/untimeout

Timeout Members
/untimeout <user> [reason]

Remove a member's timeout

  • usermemberThe member
  • reasontext, optionalReason (shown in the mod log and DM)

/warn

Timeout Members
/warn <user> <reason>

Warn a member

  • usermemberThe member
  • reasontextReason (shown in the mod log and DM)

/note

Timeout Members
/note <user> <text>

Attach a private moderator note to a user

  • usermemberThe member
  • texttextThe note

/history

Timeout Members
/history <user> [page]

Show a user's moderation history

  • usermemberThe member
  • pagewhole number, optionalPage

/case

Timeout Members
/case view <number>

Show a case

  • numberwhole numberCase number
/case reason <number> <reason>

Change the reason of a case

  • numberwhole numberCase number
  • reasontextNew reason
/case remove <number>

Mark a case (e.g. a warning) as removed so it no longer counts

  • numberwhole numberCase number

/purge

Manage Messages
/purge <amount> [user] [contains] [bots]

Bulk delete recent messages in this channel

  • amountwhole numberHow many messages to check (1-100)
  • usermember, optionalOnly messages from this user
  • containstext, optionalOnly messages containing this text
  • botsyes / no, optionalTrue: only bots · False: only people

/slowmode

Manage Channels
/slowmode <interval>

Set slowmode for this channel

  • intervaltextHow long members wait between messages (Off · 5s · 10s · 15s · 30s · 1m · 2m · 5m · 10m · 15m · 30m · 1h · 2h · 6h)

/lock

Manage Channels
/lock [channel] [reason]

Stop @everyone from sending messages in a channel

  • channelchannel, optionalDefaults to this channel
  • reasontext, optionalReason (shown in the mod log and DM)

/unlock

Manage Channels
/unlock [channel]

Undo /lock

  • channelchannel, optionalDefaults to this channel
Ban Ban Members

A right-click command: right-click (or long-press) a member, then Apps > Ban.

Kick Kick Members

A right-click command: right-click (or long-press) a member, then Apps > Kick.

Mute Timeout Members

A right-click command: right-click (or long-press) a member, then Apps > Mute.

Warn Timeout Members

A right-click command: right-click (or long-press) a member, then Apps > Warn.

Purge until here Manage Messages

A right-click command: right-click (or long-press) a message, then Apps > Purge until here.

Settings

Everything you can set for this module in the dashboard, in the order the page shows it.

Mod-log channelChannel

Every case except a /note is posted here (notes still take a case number), and so is every purge.

DM members when they are punishedSwitchOn
Appeal instructionsTextup to 500 characters

Added to ban DMs, e.g. a link to your appeal form. Only when “DM members when they are punished” is on.

Add the address of your ban appeal formSwitchOff

Ban DMs get the web address of the form you marked as a ban appeal in Forms & Applications. Only when “DM members when they are punished” is on.

Require a reason for every actionSwitchOff
Preset reasonsListup to 25 entries

Offered while a moderator fills in "reason" in /ban, /kick, /timeout, /warn and the others. They can still type anything else. At most 25, 100 characters each.

Reason members are told when Pangobot acts by itselfTextup to 200 characters

For a timeout, kick or ban that comes from automatic escalation. Empty = what actually happened ("Reached 3 warnings"). Only when “DM members when they are punished” is on.

Immune rolesRoles

Members with these roles cannot be punished through Pangobot - by anyone, administrators and the owner included, nor by automatic escalation. A role every member has would shield the whole server. AutoMod and Join Guard have their own exceptions. Only roles below your own highest role that you do not have yourself can be made immune.

Warnings expire after (days)Number0 to 3650

0 = never

Automatic escalationListup to 8

Each step runs once, when a member reaches exactly that number of active warnings. Warnings from AutoMod count too.

At this many warningsNumber1 to 503
Do thisChoiceTimeout
DurationChoiceNo end (a ban stays, a timeout lasts 1 hour) to 1 year (bans)No end (a ban stays, a timeout lasts 1 hour)

How long the timeout or the ban lasts. Discord ends a timeout after 28 days at the latest. Not with “Do this”: “Kick”.

Limits

  • Preset reasons: up to 25
  • Automatic escalation: up to 8
  • A timeout lasts 28 days at most (Discord's own limit).
  • A moderator other than the server owner can punish at most 8 members a minute.

Good to know

  • Right-click a member > Apps has Ban, Kick, Mute and Warn on it, and right-clicking a message has Purge until here. They check everything the commands check - a small form asks for the reason (and how long, for a mute), everything is checked again when that form comes back, and the answer is shown only to you. Purge until here needs Manage Messages yourself and deletes the message you clicked and up to 99 newer ones, keeping anything pinned; for more, right-click the oldest message that is left. Discord itself refuses to bulk delete messages older than 14 days.
  • Durations are written like 10m, 2h, 7d. A ban with a duration lifts itself when the time is up - that ban only: if it was lifted and somebody banned them again in the meantime, the new ban stays. If Pangobot cannot lift it, it tries again later and then shows it under Recent problems. /ban refuses somebody who is banned already: to change how long, /unban and ban again.
  • The message that confirms a ban shows the banned account's profile picture, the reason the moderator gave and who they are. A reason is shown as plain text: a link written into it does not become a clickable link, and the message pings nobody.
  • /softban bans and immediately unbans: it removes the last 24 hours of the member's messages without keeping them out. It works on someone who already left too, and refuses somebody who is banned - it would lift their ban.
  • /note is only visible to moderators and never notifies the member.
  • Discord's own rules still apply: nobody can act on the server owner or on someone whose highest role is the same as or above their own - or the same as or above the bot's.
  • Require a reason makes the reason option mandatory for every action, /lock included (/unlock has none).
  • Preset reasons are the wordings your team uses most often (up to 25). They are offered while a moderator fills in reason - in /ban, /kick, /softban, /timeout, /warn, /unban, /untimeout, /lock and when rewriting a case reason with /case reason. Moderators can still type their own.
  • Add the address of your ban appeal form puts the web address of the form you marked as a ban appeal in Forms into every ban DM, under your own appeal instructions.
  • When a warning escalates into a kick or ban, the member is told about that removal instead of about the warning; an automatic timeout is added to the warning message. The warning message also says how many active warnings they have and what happens at the next step. Reason members are told when Pangobot acts by itself replaces the wording they see ("Reached 3 warnings") with your own; the mod log, the case and Discord's audit log always keep the real reason.
  • Members with an immune role cannot be punished through Pangobot - not by any moderator, and not by automatic escalation (lifting a timeout with /untimeout still works). AutoMod and Join Guard have their own exceptions: AutoMod's ignored roles and Join Guard's allowed users. Only a role below your own highest role that you do not have yourself can be made immune (the owner may pick any), and never @everyone. An immune role shields its members from everyone, the owner included - so never pick a role every member has. (Someone with Manage Roles can still give themselves a lower role that is immune already: that is Discord's own power, so keep Manage Roles for people you trust.)
  • A command only works for someone who has its permission themselves - handing /ban to a role in Server Settings > Integrations is not enough.
  • One moderator can act against at most 8 members a minute (bans, kicks, softbans, timeouts and warnings that escalate - not plain warnings). Pangobot says when they can go on; an action it refused (a wrong duration, a missing permission) uses up nothing. The owner is not limited.
  • /lock also closes the channel for roles that are explicitly allowed to write there (a "Member" role, for example) - staff roles excepted. /unlock opens exactly those again and gives @everyone back what it had before the lock, so a read-only channel such as #announcements stays read-only. /unlock does nothing on a channel that was not locked with /lock. A member with their own permission to write there is closed too (staff excepted) and opened again by /unlock. Both need View Channel, Manage Channels and Manage Permissions in that channel; a category cannot be locked.
  • Automatic escalation to a kick or ban only happens when the moderator who warned has Kick Members or Ban Members themselves. Otherwise the warning is still recorded and Pangobot says why the kick or ban was held back. Timeouts still work for anyone who may warn. Kicks and bans from escalation count for the moderator who warned in Verification & Anti-Nuke, just like /ban and /kick. A step runs once, when a member reaches exactly its number of active warnings, and two steps cannot share a number. Setting up a ban, kick or timeout step takes Ban Members, Kick Members or Timeout Members yourself (the owner may set up any): AutoMod warnings escalate too, and their kicks and bans are limited to 8 a minute per server. When a step is not carried out (an administrator cannot be timed out, Discord refused it ...), the moderator who warned is told privately.
  • If Pangobot is away from your server when a temporary ban should end (removed and invited back, or your own bot offline), it lifts the ban once it is back. It keeps trying for up to 30 days.
  • Changing a case's reason or removing a case is posted to the mod log with who did it - a new reason with the old one next to it. Nobody can change a case about themselves, or about someone whose highest role is the same as or above their own (the owner can).
  • /history shows how many active warnings count towards the escalation steps, marks warnings that have expired, and says until when a temporary ban or a timeout runs.
  • /purge looks at the last messages you name and deletes those that match - bots: True only bots, False only people. Pinned messages and messages older than 14 days stay, and the answer says how many.
  • Switching Moderation off stops its commands and its automatic escalation: AutoMod warnings are still recorded, but no step times anybody out, kicks or bans, and the Ban button on report and Join Guard cards is off too.

What the bot needs

  • Ban Members, Kick Members and Moderate Members (timeouts) for the punishments; Manage Messages and Read Message History for /purge and Purge until here; Manage Channels for /slowmode; Manage Roles for /lock (Pangobot keeps its own right to write in the channel it locks). In the mod-log channel: Send Messages and Embed Links.