/dashboard/{serverId}/setup/tools retains server scans, resource inspection and
protection reviews. Connection status shows affected behavior and delivery problems;
there is no universal readiness score or requirement to assign staff access for a solo owner.
Visible controls depend on current access and which
capabilities are supported; a future product domain in the roadmap is not a
working workspace.
Sessions last seven days. Using the dashboard renews that period at most once
per day when you navigate or return to the tab. Leaving an idle tab open does
not keep you signed in indefinitely. After expiry, sign in with Discord again;
renewing a session never changes your server permissions.
Cases lists authoritative moderation outcomes. Open a case to inspect its
reason, history and delivery state. A recorded case and a delivered Discord
message are different facts: inspect delivery before assuming a member or staff
channel received the notification.
Editing settings
Search for channels and roles by name. Multiple selections stay visible as removable chips, including saved selections that are no longer available. Short choices show their full labels before you open them. Related settings share a named section. Expand optional settings when you need them; closing a section keeps your draft. Unsaved changes appears beside the save action. Save applies that form’s settings; Discard changes restores its saved values. Leaving a changed form asks whether to keep editing or discard the draft.Case evidence
An authorized moderator can capture a reviewed source for an existing case. The capture is purpose-limited and requires the moderator to explicitly affirm that the exact message and attachment set was reviewed. That affirmation records the moderator’s authorized review; it is not presented as consent from the message author. Pup stores only the selected message, attachment metadata, author, channel, timestamps, action context, and immutable SHA-256 digests. It does not copy surrounding conversation or unrelated member data. Message content is limited to 1 MiB; individual attachments are limited to 25 MiB and no more than ten attachments are accepted. Missing, deleted, inaccessible, or oversized material remains a truthful availability marker — Pup never reconstructs it. Accepted bytes are encrypted and queued for private storage. A pending capture has durable local staging but is not yet provider-verified; provider drift, corruption, or an unavailable copy remains unavailable rather than being shown as evidence. Case evidence remains available until explicitly deleted. Legal holds require moderation administration access and prevent deletion. To inspect existing evidence, select the narrowest purpose and confirm the review and consent-or-lawful-basis boundary. This reveals metadata only. Private downloads are separately authorized and audited; restricted evidence remains hidden without moderation administration access. A recorded share is redacted, does not create an object URL or a second copy, and can be revoked by an authorized administrator. Deleted, missing, inaccessible, oversized, partial, or provider-failed material stays visibly unavailable rather than being recreated. Activity includes a bounded command-audit view. Choose the Command audit shortcut, then narrow its receipts by command name, actor, channel, correlation, time, or thecommand.<name> subtype. Records remain until explicitly deleted.
The view deliberately has no command arguments,
moderator reasons, response text, or routine-denial history.
Members lists visible server members and loads more as needed. Search by display
name or username, or paste a Discord member mention or exact ID. Open a member to
review their profile, visible Pup activity, roles and authorized case/history links.
Across the dashboard, named member mentions offer a profile preview and a menu to
copy the member ID, username or display name.
User-account facts and server-membership facts are labelled separately with
their source and freshness. Presence is shown as unavailable because Pup does
not collect it. The moderation summary counts only approved standard records;
it never includes restricted reasons, messages, or hidden history. Protected
people and roles return no identity, membership, role, or moderation details.
Connection status gives authorized server operators a redacted summary of module,
provider, destination, configuration, delivery, and worker state.
It labels freshness, impact, safe diagnostic codes, and the next place to look
without exposing infrastructure. Use a specific recovery action only where it
is separately authorized. Refreshing a page does not grant permissions or make
a failed operation successful.
Refresh status repeats read-only checks. Server owners see connection,
bot-permission and delivery status. Advanced runtime details
and private-object restore require the installation’s super-admin role in
both managed and self-hosted Pup. Server permission sets do not grant that role.
Normal case and log retries remain available through your server permissions.
Public liveness does not expose these server-private diagnostics, tests, retries,
or incident history.
Access decisions explains recent permission checks, including why an action
was refused. An allowed check does not prove that the action was performed; use
Cases or Activity for actual outcomes. Expand Why this decision? for checked
conditions, permission IDs and the reference ID. Hover an ID to see it in full
or select it to copy. Protected people and roles are separate from access grants:
they limit who moderation actions may target.
For blocked member DMs, ask the member to permit messages or unblock the bot,
then use the authorized delivery Retry action. The original case remains the
record; avoid issuing another warning merely to resend its notification.
After a role or permission change, refresh access. If a saved configuration was
changed by another operator, reload and review their changes before resubmitting.
Use Roles to inspect current role color, position, permission bitfield,
membership count, managed state, and technical ID. Load a member’s current roles
before editing. Managed roles and roles above your or Pup’s position remain unchanged.
Review the named additions and removals before applying. If membership changes
while you are editing, reload the member and review your changes again. Changing
the target member replaces the draft. Member information and history links appear
when your access permits them.
Commands
Open Commands to search the full command reference, inspect required and optional inputs, and see who can use each command. Slash commands run in Discord; optional history menus are available from a member or message. Onlywarn also supports the
server’s text prefix. Administrators can change that prefix on this page.
Logs owns moderation destinations and server-event routing. Moderation settings
owns the mute role and its permission preview. Changing that role requires saving
before previewing it. Each page saves only its own settings.
Edit settings
In Logs, Record server events turns collection on or off independently of destination drafts. Choose a staff-only Moderation log channel and save. Setup checks whether Pup can reach that channel. This destination is separate from the event-specific log routes below. Pup excludes messages in those log destinations from message logging, so removing old log posts does not create new deletion logs. Commands, log destinations, notification routes, moderation settings and each protection have separate save boundaries. Discard changes restores every field in that form to the last saved values. After saving, the form shows the values accepted by the server. Changes stay local until you save. The bar indicates unsaved changes and remains visible while scrolling. Following a dashboard link, using browser Back or Forward, or reloading with unsaved changes asks you to confirm. Choose Keep editing to preserve your draft, or Leave without saving to discard it. Honeypot channels require an explicit addition: select Add channel, choose the channel, then Add selected channel. Review the selected list and operating mode before saving. Adding a channel does not switch the rule into enforcement. Removing a channel from the list also requires saving. Log routes and filters controls messages, members, joins, leaves, timeouts, bans, channels, roles, emoji, server changes, and voice independently. Each family has its own destination and every listed subtype can be disabled before Pup retains it. Channel IDs, member IDs, and literal message prefixes can be excluded. The preview calls out shared destinations, disabled events, exclusions and destination changes before saving. It does not verify live Discord permissions or send a test message; check delivery status for actual failures. The JSON box is the exact versioned export. Importing replaces the complete route, event, filter, and attachment collection configuration in the local draft; review the preview and save to apply it. Imports with missing, extra, or unsupported versioned fields are rejected instead of being partially applied. The dashboard uses your Discord profile picture and server icon. Use Refresh Discord profile and server images beside your avatar to load changes without signing in again. Refreshing keeps unsaved settings on the current page. If Discord is unavailable, retry once the connection recovers. When a reviewed Mute role is configured, Preview configured role reads the current Discord role and channel permission data without changing it. The table shows the modeled result for text sending, voice connection and speaking, thread participation, and application-command use. It combines@everyone and
the configured role’s channel overwrites, but it deliberately marks results
partial when overwrite data or a thread parent is unavailable. It cannot infer
other roles on a particular member, member-specific overwrites, private-thread
state, or command-specific policies. Review those notes before relying on the
role’s restriction scope; Pup never owns or edits channel overrides.
Command restrictions use named role and member pickers under Staff access.
Choose up to 50 ignored roles and members per command; these members cannot use
that command. Save or discard the restriction draft before saving other controls.
Saved selections remain visible when reopening the section. Warning-bot replies
use a named channel selector and still require a channel Pup can access.
Protection rules and scopes
Open Protection and choose a policy. Honeypot, mention spam, attachment spam, blocked phrases, link protection and dangerous files each save behavior, scope, notifications and thresholds together. Off stops new automated responses; Monitor records matches; Take action uses the selected responder. Turning a protection Off does not undo completed actions or disable manual moderation and restoration. An action already sent to Discord may need reconciliation. Channel, member and role inclusions restrict where a rule applies. Member and role inclusions combine with “or”; exemptions win. Selected channels with no entries match no channels. Use the named channel and role selectors; unavailable saved resources remain visible until removed or restored. Saving checks current Discord resources. A missing resource prevents the affected protection from taking action. Preview scopes can inspect saved scope decisions without changing a policy. Blocked phrases has separate Literal phrases and Wildcard phrases lists. Literal phrases match a substring exactly;* and ? in that list stay literal.
In the wildcard list, * matches any number of characters, including spaces and
line breaks, and ? matches one Unicode character. buy*coins matches “buy cheap
coins”; c?t matches “cat”. Escape a literal star, question mark or backslash with
\*, \? or \\. Other escapes are invalid. Matching ignores case and normalizes
Unicode compatibility forms; it does not ignore accents or punctuation. Patterns
match anywhere in a message and must contain a non-space literal character.
Each phrase is limited to 200 characters, with up to 200 literal phrases and 50
wildcard phrases. Wildcard phrases require Pup as responder; Discord AutoMod
does not receive these patterns. Try a sample message checks the draft lists
locally without saving or sending your message. Scope and exemption checks still
apply to actual messages.
Link protection distinguishes blocked domains and their subdomains from exact
blocked hosts. Add hosts individually, without a URL scheme, path or port.
example.com in the domain list includes sub.example.com; *.example.com is an
alias for that same rule and also includes the base domain. The exact-host list
matches only that hostname. Other glob expressions and regex are not supported.
Allowed domains override either block list and the approved-role
requirement for those hosts only. Approved roles permit other links; they do not
bypass explicit blocked domains. With the role requirement enabled and no approved
roles selected, it applies to all ordinary members. Protected-staff exemptions
remain in effect. These additional link policies require Pup as the responder.
Join admission, profile review, raid mode, server lockdown and
warning escalation also have dedicated policy pages. Legacy settings links open
the corresponding owner. A saved Off decision remains Off when the former shared
security switch is retired.