Moderation: Actions
Kick, ban, tempban, purge, and the two lookup commands you'll want alongside them.
Part of Moderation - see also Timeouts, Nicknames, and Mass Actions. Most commands here also accept an equivalent Fake Perm instead of the real Discord permission listed, so you can hand out just one ability without the rest of what that permission unlocks.
Kick & ban
$kick <@member> [reason]
$ban <@user or id> [reason]
$unban <id, mention, or username> [reason]
$tempban <@user or id> <duration> [reason]
tempban bans normally, then automatically unbans once the duration passes - e.g.
$tempban @user 3d being annoying bans for 3 days with no follow-up needed.
ban/tempban both work on someone not currently in the server (by ID), and so
does unban - Discord won't let you @mention someone who's already left/been banned unless
Pixie already has them cached, so unban also accepts their exact username as a fallback,
scanning the ban list for a match if a plain ID/mention doesn't resolve. /unban only
accepts an ID or a cached mention, not a plain username.
Kicking, banning, or tempbanning someone who's currently boosting the server stops first and asks you to confirm - a quick guard against losing a boost by accident.
DM notifications: kick/ban both DM the target by
default. Add --dm no anywhere in the reason to skip it - e.g.
$kick @user being annoying --dm no. /kick//ban have a real
dm option instead.
Stripping moderation roles
$strip <@member> [reason]
Removes every role from a member that carries a moderation-shaped permission (Ban/Kick/Manage
Roles/Manage Messages/etc.), a Fake Perm, or is just named like a staff role (Staff,
Mod, Admin...). Useful for demoting someone fast without hunting down which
of their roles actually matter. Shows you the exact role list and asks you to confirm before removing
anything.
Purge
$purge <count or duration>
$purge <@member or id> <count or duration>
$purge word <term>
$purge <message link>
Four ways to use it, all in the same command:
- A plain count -
$purge 50deletes the last 50 messages in the channel. - A duration -
$purge 1hdeletes everything from the last hour instead of a fixed count. - Filtered to one member -
$purge @user 30or$purge @user 1honly deletes that member's messages within the range, skipping everyone else's. - By word -
$purge word badworddeletes any message in the channel containing that text (case-insensitive), scanning further back than a normal purge would. - By message link - paste a message link as the whole command
(
$purge https://discord.com/channels/...) to clear everything after that message, or add--beforeto clear everything before it instead. Works even for a link to a different channel. - Server-wide, one member -
$purge @user alldeletes every message that member has ever sent, in every channel and thread across the whole server, not just the current one. Needs full Administrator (not just Manage Messages), asks for confirmation first since it can't be undone, and can take a while on a large or old server.
Max 2000 messages per run (no cap for the server owner or a purge @user all run). /purge exposes the same options as separate parameters instead of one string.
Discord only allows bulk-deleting messages under 14 days old - anything older has to be deleted one at a time. If a purge would hit enough old messages to meaningfully slow down, Pixie warns you with a time estimate and asks you to confirm before tying up the channel.
$botpurge
botpurge/bp deletes only bot messages sent in the channel within the last 5 minutes - a quick cleanup after testing commands without touching anyone's real messages.
Nuking a channel
$nuke
Deletes and recreates the channel you run it in, in the exact same spot with the same name, topic, permissions, and category - just with every message gone. Asks you to confirm first. Once it's done, Pixie posts "first" in the fresh channel.
Checking status
$isbanned <user id, mention, or username>
Shows whether a user is currently banned (with the ban reason, if set) and whether they're separately on the autokickban list. Handy for double-checking before re-inviting someone or investigating a report.