UnitedUNITED DOCSWebsite
Overview

United Documentation

Clear setup guides for United's protection, moderation, ticket, and server tools.

United uses , as the default prefix. Commands are not case-sensitive, and essential moderation and protection tools are also available as slash commands.
Getting started

Quick Start

  1. Invite United with the website invite button.
  2. Open the dashboard through ,dashboard or the website.
  3. Set one Bot Logs channel in Setup → Logs so activity has a clear home.
  4. Use Protection Setup to enable and validate the core protection tools.
Protection

Anti-Nuke and Anti-Raid

Use the dashboard Protection Setup button for the fastest safe baseline. It checks permissions, creates or finds Bot Logs, and enables the selected protections. Anti-Nuke attributes destructive server changes through Discord audit logs; Anti-Raid watches suspicious joins, bots, accounts, and mass-join patterns.

Recommended first setup

  1. Set Bot Logs in Setup → Logs.
  2. Open Protection Setup and enable Anti-Nuke, Anti-Spam, Anti-Raid, and account-age checks.
  3. Open Permission Health and repair missing permissions or role-position warnings.
  4. Use ,antinuke config to review the final configuration.
United completely ignores actions by the server owner and permanent United owner. They do not trigger protection events or protection logs. Other administrators are monitored and can be enforced unless explicitly whitelisted.
Protection

Anti-Spam and Scam Trap

Anti-Spam now keeps message floods, repeated content, mass mentions, emoji spam, caps spam, and invite-link limits in one control surface. Scam Trap remains a separate immediate-action decoy channel.

ToolUse it forStarting command
Anti-SpamFloods, repeats, mentions, emoji, caps, and invite-link escalation,antispam
Invite linksSet the five-minute invite allowance and response,antispam links
Scam TrapImmediate action when someone types in a decoy channel,scamtrap #channel

Start with ,scamtrap #channel, then set the outcome with ,scamtrap action timeout, kick, or ban. Use ,scamtrap timeout 5m for the timeout length and /scamtrap config to customize the channel warning, member DM, and Bot Logs message.

Server setup

Tickets

Each ticket type has its own category and role notifications. Edit Ticket Types in the dashboard, choose the exact roles for that type, then edit or refresh the public panel. Ticket activity uses Bot Logs by default; transcripts can use the optional Ticket Logs channel in Setup → Logs.

Ticket workflow

  1. Create or confirm the category for each ticket type.
  2. Choose the roles allowed to see and receive a ping for that specific type.
  3. Save the type, edit the public panel, then refresh the panel only when its message needs updating.
  4. Claim, close, or export tickets from Discord or Ticket Center.

Use ,tickets list to see open tickets, ,tickets claim to claim one, ,tickets transcript to export one, and ,tickettimeout 10m when a ticket needs a response window.

Server setup

Roles and Verification

Autoroles are assigned on join. When verification is enabled, United removes configured unverified roles when the member receives the verified role. Server owners and Discord administrators retain their normal Discord permission-based access.

Sticky Roles keep selected roles through a leave and rejoin. Use ,stickyroles add @StaffBlacklist for a role such as Staff Blacklist. When an appeal is accepted, use ,stickyroles pardon @member @StaffBlacklist to remove that person's current role and their saved rejoin record without changing the rule for anyone else.

Use ,autorole add @Role for automatic roles and the dashboard for verification, role health, reaction roles, and role recovery.

Server setup

Bot Logs

Setup → Logs has one default Bot Logs channel for all activity. You can optionally split any active United log type, including tickets, moderation actions, voice activity, and every protection module. Existing server channels are reused rather than duplicated.

,logs #bot-logs
,banlogs #ban-logs
,kicklogs #kick-logs
,timeoutlogs #timeout-logs
,antinukelogs #security-logs
,ticketlogs #ticket-transcripts

Use ,logs #channel to choose the all-in-one default. Dedicated commands are optional overrides, not required extra setup.

Resources

Command Syntax

United accepts prefix commands with ,. Command names are not case-sensitive, so ,HeLp and ,help behave the same way.

Formatting durations

Use a number immediately followed by a unit whenever a command asks for a duration.

UnitMeaningExample
sSeconds10s
mMinutes5m
hHours2h
dDays3d
Correct
,timeout @member 10m
,slowmode 15s
,tickettimeout 1h
,scamtrap timeout 5m

Incorrect
,timeout @member 10 minutes
,slowmode ten

Channels, members, and roles

Use Discord mentions whenever possible. Type # and choose a channel, @ and choose a member, or @ and choose a role. This prevents copy-and-paste mistakes with IDs and names.

Resources

Permissions and Role Position

United follows the permissions set in Discord. Server owners and Discord administrators can configure server settings. Moderation actions also require United to have the matching Discord permission and a role above the target member's highest role.

ActionUnited needsAlso check
Delete spamManage MessagesChannel access
TimeoutModerate MembersRole position
KickKick MembersRole position
BanBan MembersBot role can act
Anti-Nuke recoveryManage Roles, Channels, Audit LogRole position and audit-log visibility
Open Dashboard → Permission Health whenever a protection or moderation action fails. It shows exactly which Discord permission or role-position check needs attention.
Resources

Languages

Set a server language with commands such as ,english, ,dutch, or ,slovak. Use language-specific command references such as ,helpdutch when available.

No setup guide matches that search.
First-time setup

Set Up a New Server

Use this order for a clean setup. It keeps your server organized and avoids creating duplicate ticket panels, roles, or log channels.

  1. Invite the bot. Give United the permissions it requests, then move the United role above any roles it must timeout, kick, ban, mute, jail, or remove.
  2. Choose your log channel. In Dashboard → Setup → Logs, choose an existing channel or let United create #bot-logs. This is the default home for moderation, security, tickets, and configuration activity.
  3. Check Permission Health. Resolve red checks for Manage Messages, Moderate Members, Kick Members, Ban Members, Manage Roles, Manage Channels, and View Audit Log before enabling protection.
  4. Configure protection. Open Protection Setup in the dashboard. It validates the log channel and can enable Anti-Nuke, Anti-Spam, Anti-Raid, and account-age checks together.
  5. Configure the member journey. Set Welcome, Autorole, and Verification. If you use an unverified role, set it as the verification role to remove after verification.
  6. Add tickets only when ready. Configure the ticket types and panel before publishing one. Existing configured panels are reused during repair; United should not create a second panel or category when a valid one already exists.
Use the Dashboard Warnings and Server Risk views as a checklist. A warning about a missing role or channel should be repaired only after checking whether the saved ID is truly missing, not just because a role has been renamed.
Protection guide

Anti-Nuke in Detail

Anti-Nuke watches destructive server actions through Discord audit logs. It can identify repeated channel changes, role changes, bans, kicks, webhook creation, dangerous permission escalation, and unauthorized bot additions. When its threshold is reached, it records the actor, action, result, and incident timeline in Bot Logs and the dashboard.

Before enabling it

  1. Confirm United has View Audit Log, Manage Roles, Manage Channels, Kick Members, and Ban Members as appropriate for your chosen response.
  2. Move the United role above roles it needs to strip or manage. Discord will not let any bot act on roles at or above its own role.
  3. Set a Bot Logs channel. Use ,antinukelogs #channel only if this server needs a separate Anti-Nuke log destination.
  4. Enable it with ,antinuke on or use the Anti-Nuke dashboard tab.

Thresholds and actions

Thresholds define how many actions in a time window create an Anti-Nuke event. Keep lower thresholds for destructive changes and use a slightly higher threshold where legitimate staff activity is common.

,antinuke on
,antinuke_config channel_threshold 3
,antinuke_config channel_time 60
,antinuke_config role_threshold 3
,antinuke_config ban_threshold 3
,antinuke_action strip_permissions
SettingWhat it watchesExample
channel_threshold / channel_timeChannel deletions within a time window3 changes in 60 seconds
channel_create_threshold / channel_create_timeMass channel creation5 channels in 60 seconds
role_threshold / role_timeRole deletions3 roles in 60 seconds
ban_threshold / ban_timeMass bans3 bans in 60 seconds
kick_threshold / kick_timeMass kicks3 kicks in 60 seconds
webhook_threshold / webhook_timeMass webhook creation3 webhooks in 60 seconds

Available responses are strip_permissions, kick, and ban. Start with stripping permissions while tuning thresholds. The dashboard Incident view includes recovery controls when a destructive change is detected.

Whitelisting

Use ,antinuke_whitelist @member only for a person or bot that must perform actions above the normal threshold. Use ,antinuke_unwhitelist @member to remove it. Whitelisted users are excluded from enforcement; do not use the whitelist as a general staff list.

The server owner and the permanent United owner are always logged but never automatically punished. Other administrators are monitored and can be enforced unless they are explicitly whitelisted.
Protection guide

Anti-Raid and Account-Age Protection

Anti-Raid detects many joins in a short period, can lock writable channels, and records the response. Account-age checks, default-avatar signals, and alt detection use the same universal trusted-member and trusted-role list as the rest of United protection.

Recommended baseline

,antiraid true 10 60
,antiraid action kick
,antiraid newaccounts true 30
,antiraid avatar true quarantine
,antiraid config
CommandWhat it configuresImportant detail
,antiraid true 10 60Anti-Raid with a join threshold and windowExample means 10 joins in 60 seconds
,antiraid action log|kick|banConfirmed raid responseStart with log while tuning a busy server
,antiraid newaccounts true 30New-account bansAccounts younger than 30 days are banned on join
,antiraid avatar true quarantineDefault-avatar signalAvailable actions: log, quarantine, kick, ban
,antiraid lockdown 10Manual ten-minute lockdownSaves only permissions United changes
,antiraid unlockEnds an active lockdownRestores saved channel permissions where possible

Universal protection whitelist

Use ,antinuke_whitelist @member for one trusted account or ,antinuke_whitelistrole @role for a tightly controlled staff role. The same exemption applies across Anti-Nuke, Anti-Spam, Anti-Raid, account-age checks, Link Limit, Link Filter, and Scam Trap.

If a lockdown recovery warning appears, open Incident Mode first. Restore only when the dashboard reports restorable permissions or structure.
Protection guide

Anti-Spam, Invite Links, and Scam Trap

Anti-Spam and invite-link escalation share one dashboard workspace and one Discord command family. Their scanners remain separate internally so an ordinary flood cannot corrupt an invite countdown. Scam Trap remains an immediate-action decoy channel.

Message spam

Run ,antispam for the overview, ,antispam on to enable it, ,antispam action timeout to choose the response, and ,antispam config message_threshold 5 to tune it. Ignored channels and roles use ,antispam ignore.

Invite links

Run ,antispam links 3 to allow three invite links per five minutes, ,antispam linkaction kick to choose the final response, and ,antispam linktimeout 5m when the response is timeout. ,antispam linkignore manages invite-specific exceptions.

Scam Trap

  1. Create or select a channel that normal members should not type in.
  2. Run ,scamtrap #channel.
  3. Set the action: ,scamtrap action delete, timeout, kick, or ban.
  4. For a timeout, set its duration: ,scamtrap timeout 5m.
  5. Use ,scamrefresh to refresh the warning panel immediately.
Ticket guide

Create a Ticket Panel

A ticket panel is the public dropdown message members use to open tickets. Build ticket types before publishing the panel. Each type stores its own category, staff roles, and optional form questions.

Dashboard setup

  1. Open the server in the dashboard and choose Tickets.
  2. Select Edit Ticket Types. Add a name, optional emoji, and the category where tickets of that type should be created.
  3. Press Roles next to a type and check only the roles that should see and be pinged for that type. Discord administrators can still access tickets through their administrator permission.
  4. Press Questions to save up to five required questions. Members complete this form before their ticket opens. Leave it blank to use United's default reason form.
  5. Select Edit Panel to set the panel title, description, main image, and thumbnail. Choose the existing channel where the panel belongs.
  6. Use Refresh Panel after saving panel text or types. This updates the existing panel message rather than making a duplicate channel.
Do not use Repair or Rebuild just to update panel wording. Use Refresh Panel. Repair is for genuinely missing saved IDs or a missing panel, and United cross-checks existing panels before creating anything.

Discord command setup

,panel setup
,ticketquestions
,panel_text "Support Center" Choose the type of help you need.
,panel_title Support Center
,panel_description Choose the type of help you need.
,panel_image https://example.com/banner.png
,panel_thumbnail https://example.com/icon.png
,panel

,ticketquestions lets an administrator choose a type and edit its form in Discord. ,panel setup shows the setup guide. ,panel creates or reuses a detected existing panel. ,panel_delete deletes panel messages and their saved records only when you intentionally want to replace them.

Ticket guide

Ticket Controls, Transcripts, and Timeouts

Once a ticket opens, the member who opened it, roles assigned to that ticket type, Discord administrators, and the permanent owner can access it. Selected roles are not global ticket staff; a role chosen for Staff Reports does not automatically see Support tickets.

CommandWhat it doesWho uses it
,ticketcontrolsPosts the compact close, reopen, transcript, delete, and access menuTicket creator or ticket staff
,claimClaims the current ticket for the staff memberTicket staff
,unclaimReleases the current claimClaimer or administrator
,ticketstatus waitingMarks it waiting on the ticket ownerTicket staff
,add @memberGives a member or role access to this ticketManage Channels
,remove @memberRemoves an added member or role, never the ticket creatorManage Channels

Close, reopen, and delete

Every new ticket receives a compact action menu. The ticket creator may close or delete their own ticket. Ticket staff can reopen, save transcripts, and manage the ticket. The Access button and the ,add/,remove commands require Discord Manage Channels, administrator, server owner, or the permanent owner. ,delete saves the transcript first, then removes the channel.

Transcript channel and auto-close

Set the transcript destination with ,ticketlogs #channel or Dashboard → Setup → Logs → Ticket Transcript Channel. If no separate ticket log exists, ticket activity stays in Bot Logs. Set inactive auto-close with ,tickettimeout 24h, ,tickettimeout 3d, or set it to off to disable it. Auto-close will not proceed unless a transcript can be saved.

Member experience

Welcome Messages

Welcome messages are independent from verification. They announce a new member in the selected channel, while verification controls access and roles. Set up welcome after you know where new members should be sent.

Recommended flow

  1. Choose the channel: ,welcome channel #welcome.
  2. Run ,welcome setup to choose a starter template, or ,welcome config to open the interactive editor.
  3. Use placeholders in the message: {user_mention}, {user_name}, {server_name}, and {member_count}.
  4. Optionally set a large image with ,welcome image https://... and a thumbnail with ,welcome thumbnail server, user, or an image URL.
  5. Run ,welcome test to preview it for yourself. When it looks right, run ,welcome toggle to enable it.
Welcome {user_mention} to {server_name}!
You are member #{member_count}. Please read the rules and verify to unlock the server.

Use ,welcome examples to view placeholder examples. Use ,welcome save name and ,welcome load name to keep reusable designs. Do not type a raw username if you need a real clickable mention; use {user_mention}.

Member experience

Goodbye Messages

Goodbye messages announce when a member leaves, is kicked, or is banned. Welcome and goodbye configurations are independent and can use different channels and designs.

Recommended flow

  1. Run ,goodbye setup #goodbye to create a starter configuration in an existing channel, or omit the channel to let United find or create one.
  2. Open ,goodbye config or Dashboard → Goodbye to edit the title, message, color, image, thumbnail, and link buttons.
  3. Use {user_mention}, {user_name}, {user_id}, {server_name}, and {member_count}.
  4. Run ,goodbye test before enabling it for real departures.
  5. Use ,goodbye toggle whenever the automatic message should be paused.
Goodbye, {user_name}. Thanks for being part of {server_name}.
{member_count} members remain.

The departing member is no longer in the server, so {user_mention} is useful for identification but does not notify them. Sticky roles are saved before United sends the goodbye message.

Member experience

Autorole and Verification

Autorole and verification are designed to work together. Without verification, configured autoroles are given when someone joins. With verification enabled, members can receive an unverified or limited-access role first, then receive the verified role after completing the panel. United removes the configured unverified role when verification succeeds.

,autorole add @Unverified
,verify setup
,verify roles @Member @Unverified
,verify panel #verify
,verify toggle true
CommandPurpose
,autorole add @RoleAdds a role on member join
,autorole remove @RoleStops assigning that autorole
,verify setupStarts verification configuration
,verify roles @Verified @UnverifiedSets the role gained and the role removed after verification
,verify panel #channelPublishes the verification panel
,verify statusShows the current verification configuration
United must be above both the verified and unverified roles in the server role list. If it cannot remove the unverified role, check Permission Health and role order.
Ticket guide

Ticket Types and Staff Access

Ticket types are the choices inside the public dropdown. A good type has a clear name, its own category, and only the roles that are responsible for that kind of request. For example, a Staff Report should not ping or reveal itself to every Support role.

Create the first types

,tcfg quick
,tcfg preset
,tcfg add
,tcfg list

,tcfg quick creates a small common starter set. ,tcfg preset lets you choose a larger starter set. ,tcfg add opens the guided menu to add one type. Run ,tcfg list to see the types currently saved for the server.

Who can see a ticket

Person or roleTicket access
Member who opened itCan see and reply until the ticket is closed
Roles selected for that ticket typeCan see and work that type of ticket
Discord administratorsCan access according to their Discord administrator permission
Server owner and permanent United ownerRetain full access
Roles not selected for that typeDo not receive ticket access or a role ping
If a role can see a ticket type it was not selected for, first check the category permission overwrites in Discord. A category-level allow for that role can grant visibility before United's ticket-specific rules apply.
Ticket guide

Ticket Troubleshooting

What happenedWhat to checkBest next step
The dropdown will not open the same type twiceThe selected option may still be cached in an old panel viewUse Refresh Panel in the dashboard; United resets the dropdown selection for new interactions
A ticket says “Something went wrong”Bot permissions, category access, ticket-type category, and modal responsesOpen Ticket Health, then verify United can Manage Channels and has access to the selected category
No transcript appearsTicket Transcript Channel and bot access to itRun ,ticketlogs #channel, then use ,transcript again
Panel text changed but message did notThe existing panel message has not been refreshedUse Refresh Panel or ,refresh_ticket_panels
Repair wants to make another panelAn old panel may not be saved or a saved channel/message ID may be staleUse Ticket Health first; do not rebuild until it reports the panel as actually missing

When a ticket is closed or deleted, United archives the transcript before removing access or deleting the channel. It logs the transcript and ticket action to the configured destination. If a transcript cannot be saved, close and delete intentionally stop rather than silently losing the conversation.

Member experience

Welcome and Verification Troubleshooting

What happenedWhat to check
No welcome message,welcome for status, the selected channel, then ,welcome test
Welcome message is in the wrong channelRun ,welcome channel #channel again; United saves the channel ID and name
Unverified role remains after verificationRun ,verify roles @Verified @Unverified and ensure United is above both roles
Verified role is not assignedCheck ,verify status, the panel channel, and Manage Roles/role position
New members do not receive an autoroleRun ,autorole list and ensure the target role is below United

Use Dashboard → Welcome for visual editing and testing. Use Discord commands when you are already in the server and need a fast change. The two paths save the same server configuration.

Protection guide

Protection Troubleshooting

What happenedWhat to checkNext step
Anti-Nuke did not punishEnabled state, threshold, time window, audit-log permission, and role positionOpen Anti-Nuke Live Check and Permission Health
An owner action does not appear in Anti-NukeThe server owner and permanent United owner are fully exemptThis is expected; no protection event or log is created
Anti-Raid cannot restore a lockdownWhether a restorable channel state existed before lockdownRead the Incident timeline and make manual changes only when no snapshot is available
Anti-Spam says log channel missingBot Logs channel ID and whether it still existsSet Bot Logs again in Setup → Logs, save, then return to Anti-Spam
Scam Trap did not punish a testWhether the tester is the server owner/permanent owner, is an administrator, or is exemptTest with a normal non-exempt account and check Bot Logs

Always read the Bot Logs entry first. It records the actor, the detected action, the result, and any Discord permission failure. That is more reliable than guessing from a missing moderation result.

Protection guide

Trusted Protection Roles

Use a trusted role when a whole staff team should bypass United's automatic protection checks. Run ,antinuke_whitelistrole @role to add it and ,antinuke_unwhitelistrole @role to remove it. This applies to Anti-Nuke, Anti-Spam, Anti-Raid, Link Limit, Link Filter, and Scam Trap. Use ,antinuke_whitelist @member when only one person or bot needs the bypass.

Never whitelist a broad member role. Trusted roles are for people you would trust with every automatic protection exemption.
Ticket guide

Timeout a Member in One Ticket

United has two different ticket timeout modes. A command with only a duration sets the server-wide inactive ticket auto-close setting. A command with a member mention temporarily stops that member from sending messages in the current ticket only. It does not apply a server-wide Discord timeout.

CommandWhat it does
,tickettimeout 24hCloses inactive tickets after 24 hours, after saving a transcript
,tickettimeout @member 10sStops the member sending messages in the current ticket for 10 seconds
,tickettimeout 10s @memberSame member timeout, duration first
,tickettimeout @member endEnds that member's ticket timeout early and restores their previous send permission
Member ticket timeouts can only be used by ticket staff in a ticket channel. They are saved, survive a bot restart, and automatically restore the member's prior ticket send permission when the timer ends.
Ticket guide

Temporarily Block New Ticket Creation

Use the short ,tblock command when someone should not be able to open any new tickets for a while. It does not close their current ticket, timeout them from Discord, or change any of their roles.

CommandWhat it does
,tblock @member 10mStops the member opening new tickets for 10 minutes
,tblock @member 1hStops the member opening new tickets for one hour
,tblock @member endLets the member create tickets again immediately
,ticketblock @member 10mLonger alias for the same command
Ticket creation blocks are saved per server and still work after United restarts. When the timer ends, the block simply expires; no manual permission cleanup is needed.