Skip to content

Player Reports

Give members a proper way to report each other. /pmod report opens a card in your staff channel with the reported message, the reason, and buttons to claim it, act on it and close it — so a report is a tracked job rather than a message someone might scroll past.

Phantom player reports queue for Discord, showing open, claimed and resolved member reportsModeration → Player Reports, the queue every /pmod report lands in.

Where it lives

Dashboard: Moderation → Player Reports. Member command: /pmod report.

How a report works

  1. A member runs /pmod report <target> <reason> [comment]. The target is a mention, a user ID, or a link to the offending message.
  2. Phantom checks they're allowed to report (see Who can report), then posts a card into your report channel and pings the roles you chose.
  3. The card carries the reporter, the reported member, the reason, any comment, and — when a message link was given — an excerpt of that message with a jump link.
  4. A moderator presses Claim so nobody doubles up, acts, then Resolve or Dismiss with an optional note.
  5. The reporter gets a DM receipt when they file, and another when it's closed.

Every report also lands on the dashboard queue, filterable by status, so nothing is lost when the channel scrolls.

Acting from the card

With Moderation actions on, the card carries Warn, Timeout, Kick and Ban buttons. Pressing one opens the same flow as the slash command, files a proper case, and writes the case number back onto the report.

Each button re-checks the moderator's own permission for that specific action, so a trial mod who can warn but not ban sees the same answer here as they would from /pmod. With Resolve on action on (the default), the report closes itself the moment an action lands — a banned member shouldn't leave an open job in the queue.

Who can report

SettingWhat it does
Allowed rolesEmpty means every member can report. Set roles to make reporting a privilege.
Blocked rolesAlways wins over the allowed list. For members who've abused the system.
CooldownSeconds between one member's reports. Default 120, max 86,400.
Minimum account ageDays old a Discord account must be. 0 = off.
Minimum server tenureDays a member must have been in the server. 0 = off.
Max open per reporterHow many of one member's reports may sit unresolved at once. Default 5. Stops one person burying the queue.
Require a commentMake the free-text comment mandatory alongside the reason.
Allow reporting staffOn by default — a member being abused by a moderator needs this. Turn it off if it's being used to snipe at staff.

Settings

SettingWhat it does
EnabledMaster switch. Phantom refuses to enable the module without a report channel, since reports would go nowhere.
Report channelWhere cards are posted. Staff-only.
Ping rolesPinged once per new card.
ReasonsThe list offered by the command, in your order. Up to 25 (Discord's limit on a choice list), 100 characters per label.
Anonymous to staffHides the reporter's name on the card. Their ID is still recorded and still shown on the dashboard — this is about who's in the room when the card is read, not about untraceable reports.
DM receiptConfirm to the reporter that the report landed.
DM on resolveTell the reporter the outcome when it's closed.
Moderation actionsPut Warn / Timeout / Kick / Ban on the card.
Resolve on actionClose the report automatically once an action lands.
Auto threadOpen a thread under each card for staff to discuss in.
Log to notesAlso file a staff note against the reported member, so the report shows in /pmod notes and the User Lookup timeline.

Reason slugs are stable once reports have been filed under them: renaming a label is safe, but the underlying value stays put so old reports keep their category.

Statuses

StatusMeaning
OpenFiled, nobody has picked it up.
ClaimedA moderator has taken it.
ResolvedHandled, with an optional resolution note.
DismissedNo action needed.

A report can only be closed once. If two moderators press Resolve at the same moment, the second gets told it's already handled rather than silently overwriting the first.

Permissions

  • moderation.view — see the Player Reports page and the queue.
  • moderation.reports — claim, resolve and dismiss, from the card buttons and the dashboard. Grant this to trial moderators who should work the queue without holding kick or ban.
  • The individual action buttons check moderation.warn, moderation.timeout, moderation.kick and moderation.ban separately.

Phantom needs permission to post in the report channel, and the usual moderation permissions for whichever action buttons you enable.

Tips

  • Point the report channel somewhere staff actually read. A dedicated #reports beats burying cards in general staff chat.
  • Keep the reason list short. Eight options people understand beat twenty they have to read.
  • Turn on Log to notes if you want a member's report history to surface during a later moderation decision.
  • Leave Allow reporting staff on unless it's actively being abused. It's the escape hatch that makes the system trustworthy.

Phantom is a product of Hydra Labs. The bot is run as a managed service; you do not need to host it yourself.