Skip to documentation

Moderation Log and history

Review chronological moderation records with source, action, actor, date, case, and severity filters.

Audience
moderator · senior reviewer · team lead
Availability
free · private beta access
Maturity
alpha · partial

Last reviewed

On this page

Find the authoritative moderation record

The Moderation Log combines server-scoped moderation actions, imported moderation, jail history, and staff notes into a chronological view. Routine member, voice, message-metadata, role, channel, and server activity belongs in Activity instead of flooding moderation history.

Set the server, member, and time range

Record listing requires dashboard access and the effective record permission. Linked cases, evidence, notes, and exports are rechecked separately.

Open Moderation Log in the selected server dashboard and begin with a narrow member, action, date, source, actor, case, or severity filter.

  • A server-scoped moderation question such as who acted, which punishment occurred, or which case is involved.
  • A reliable member, actor, date range, source, or action clue.
  • Permission for any linked detail you plan to open.

Trace an action through history

  1. Narrow the record set

    Apply the most specific known filters and keep source badges visible.

    Check: The table returns a manageable chronological result.

  2. Read attribution and source

    Check actor, target, action type, timestamp, source, case link, and severity where present.

    Check: Staff do not mistake an imported provider for the actor or routine activity for a moderation action.

  3. Open the underlying record

    Follow the supported case or detail link when the decision requires more context.

    Check: The linked surface performs its own visibility check.

  4. Record the conclusion

    Use a case or staff handoff for follow-up instead of editing history to fit the conclusion.

    Check: The original chronological record remains intact.

History review examples

Authorized staff can reconstruct visible moderation history, distinguish source from actor, and move non-moderation investigation into Activity.

  • Filter one actor and date range during a shift review.
  • Separate imported moderation from native ModFlow actions by source badge.
  • Use an exact legacy activity link only as a compatibility handoff into Activity.

Understand what appears in the Moderation Log

Record families
FamilyExamplesSource/identity notes
Native moderation actionsWarn, mute, duration adjustment, unmute, jail, unjail, ban, unban, undo.Requested actor and executor can be recorded separately; linked to a server-scoped Case.
Case eventsCreation, claim, comments, evidence, decision, execution, close/reopen.Case ID is internal; Case number is human-facing within one server.
Appeal eventsSubmission, review, decision, reversal status.Public appellant status is narrower than staff detail.
Scheduled actionsPending, executing, executed, failed, cancelled.The scheduled request and actual execution are different events.
Jail historyActive jail, release, paused/rejoin, transcript status.Role/channel cleanup may be partial.
Imported moderationNormalized warning, mute, ban, or other supported external log.Provider, actor, source message, confidence, and occurrence time stay distinct.
Staff-authored notesMember context or handoff.Attributable context, not native source evidence.

Use filters without hiding the answer

Common filters
FilterUse it forCheck before concluding
Member/targetOne person’s moderation history.Exact user ID and selected server.
Moderator/actorActions attributed to one staff member.Native actor versus provider/system executor.
Action typeWarnings, mutes, bans, jails, reversals, or Case events.Related action names and imported normalization.
Date rangeIncident window, shift, month, or appeal review.Occurred-at versus stored/created-at time.
SourceNative ModFlow, import provider, staff note, or other supported origin.Source is not automatically the human actor.
CaseEvery linked event in one Case lifecycle.Internal ID versus server-scoped Case number.
Severity/statusPrioritizing high-impact or unresolved work.The meaning is workflow-specific and not a guilt score.
  1. Start narrow

    Use the strongest known identity, date, source, or Case clue.

    Check: The result set is readable.

  2. Expand one filter at a time

    Remove only the filter most likely to hide the record.

    Check: The reason a row appears is understandable.

  3. Open the source record

    Follow the Case/detail link rather than relying on a truncated table row.

    Check: The full permission-aware state is reviewed.

  4. Reset before another member

    Clear filters and confirm the new target/server.

    Check: Old filters do not create a false absence.

Audit one moderation action end to end

  1. Find the action

    Search by target, actor, action, and occurrence window.

    Check: The exact action row is identified.

  2. Check attribution

    Read initiator/requester, executor/system actor, source, and reason.

    Check: The human and system roles are not conflated.

  3. Open the Case

    Review linked evidence, decision, execution, and timeline events.

    Check: The action is understood in context.

  4. Compare current state

    Check whether the restriction is still active or has been reversed/expired.

    Check: Historical action is not mistaken for current state.

  5. Record discrepancies

    Use a Case comment, staff note, or admin issue as appropriate; do not rewrite history.

    Check: The original record and later correction remain distinguishable.

Audit questions
QuestionWhy it matters
Who requested the action?Establishes staff accountability.
Who or what executed it?Distinguishes bot/system execution from human decision.
What did Discord actually do?Separates request from external result.
Was the reason sufficient and visible to the correct audience?Supports review without leaking evidence.
What changed later?Expiry, appeal, reversal, rejoin, and manual correction alter current state.

Use /modhistory and /modstats responsibly

Basic staff activity views
SurfaceShowsDoes not show/prove
/modhistoryRecorded action history and basic activity for the selected moderator/server.A global employment record, a quality ranking, or complete context for every action.
/modstatsAggregate activity over the selected lookback window.Performance, fairness, policy compliance, or workload difficulty by itself.
Staff directory/activity drawerVisible team membership and basic server-scoped activity where permitted.Authority beyond live permissions or an approved performance score.

Account for filters and unavailable sources

Filters reflect stored moderation fields and can miss malformed, deleted, unavailable, or not-yet-imported source material. Use Activity for metadata-only operational events; neither surface is an infallible account of off-platform events.

Something is missing or looks wrong

What you see: The current view does not contain the record, field, source, or output you expected.

What may be happening: Server scope, viewer permission, filters, source availability, feature gates, or stale state can change what the product may show.

What to do

  1. Clear filters one at a time and confirm the date range.
  2. Check the source badge, actor label, and selected server.
  3. Open Activity when the question concerns voice, streaming, member, role, channel, or server changes.
  4. Document a suspected missing moderation record for an administrator rather than fabricating a replacement.

History and event logs serve different jobs

Canonical moderation history records actions, Cases, decisions, notes, and linked outcomes. Native Discord event logging sends configured operational events to a selected Discord destination and maintains delivery state. Imported records retain their source provenance and do not become native observations merely because they appear in one timeline.

Back to top