Administration

Commands for server setup, posting ticket panels, in-Discord configuration, diagnostics, auto-close, approvals, and bulk deletion

These commands change how the ticket system works for the whole server. Most require Discord permissions such as Administrator, Manage Channels, or Manage Messages rather than a staff role; each command lists who can run it.

/setup

Create the Discord categories, channels, and roles the ticket system needs. Has no options and asks no questions unless it finds existing resources.

/setup

Who can run it: members with Administrator, or with both Manage Channels and Manage Roles. The command is hidden from everyone else in Discord's command list.

What the bot needs: Manage Channels and Manage Roles at the server level (or Administrator). Without them the command stops with TC002 before creating anything.

What it creates

ResourceTypePurpose
🎫 TicketsCategoryNew ticket channels are created here
📁 Closed TicketsCategoryClosed tickets are moved here
📝 Ticket LogsCategoryHolds the two channels below
#ticket-logsText channelTicket events, feedback, and staff actions
#ticket-transcriptsText channelTranscripts posted when tickets close
Ticket AdminRoleFull ticket management access. Named TicketCord Admin on the Free plan
Ticket SupportRoleBasic ticket access. Named TicketCord Support on the Free plan

The categories and channels are created with permission overwrites so that the two roles and the bot can see them and @everyone cannot. If Discord will not let the bot place the new roles below its own role, the confirmation shows a Role Position Warning; move the bot's role above the new roles in Server Settings → Roles.

If resources already exist

When /setup finds categories, channels, or roles with the same names, it shows Existing Setup Detected with three buttons:

ButtonResult
Create Anyway (New Names)Creates a second set named 🎫 TicketCord Tickets, 📁 TicketCord Closed, 📝 TicketCord Logs, #ticketcord-logs, and #ticketcord-transcripts
Use Existing (Recommended)Creates nothing; select your existing resources in the dashboard
CancelMakes no changes

/setup only creates Discord resources. The bot does not handle tickets until you select those resources and save the configuration in the dashboard. See Configuration.

Errors: TC002 (you lack the permissions, or the bot lacks Manage Channels and Manage Roles), TC008 (the bot could not read the server's roles or channels; try again), TC000 (creation failed part-way; the message lists any leftover resources to delete before retrying).


/embed

Post a saved embed (a ticket panel or any other designed message) into a channel.

/embed <name> [channel]
OptionTypeRequiredAllowed valuesDefault
nameText (autocomplete)YesThe name of an embed saved in the dashboardnone
channelText channelNoAny text channel that is not a ticketThe current channel

Who can run it: members with Manage Messages. Autocomplete only lists embeds to people with that permission.

What happens: the embed is sent to the channel with its buttons or dropdown. Ticket buttons on it are live immediately.

Example

/embed name:support-panel channel:#get-help

Design embeds under Embeds in the dashboard. Set an embed's description there and it appears next to the name in autocomplete.

Errors

CodeWhen
TC002You lack Manage Messages, or the bot lacks View Channel, Send Messages, or Embed Links in the target channel
TC004No embed with that name, or the channel no longer exists or the bot cannot access it
TC011The server is not configured, or no embeds have been created yet
TC012The embed uses an emoji the bot cannot use (deleted, or from a server the bot is not in)
TC017The target channel is a ticket channel

/config

Open an interactive settings panel for the server inside Discord.

/config

Who can run it: server administrators and staff.

What it shows

SectionControl
Staff rolesChange button; select up to 10 roles
Transcript channelChange button
Logs channelChange button, or remove the channel
Auto-closeON/OFF toggle and the current time
DM on closeON/OFF toggle
Auto-deleteON/OFF toggle
Ticket categoriesDropdown to select categories
RefreshReloads the panel with the saved values

Some settings are managed from the dashboard only; the panel says so when you press a control that is not available in Discord (TC018).

Errors: TC002 (not an administrator or staff), TC012 (more than 10 staff roles selected), TC017 (run in a DM).


/diagnose

Check the bot's permissions and the server configuration, and list what is wrong.

/diagnose

Who can run it: staff, or the server owner.

What it checks

CategoryCheck
Logs ChannelExists, and the bot can view it and send messages
Transcript ChannelExists, and the bot can view it and send messages
Ticket CategoryEach configured open-ticket category exists and the bot has permissions in it
Closed CategoryEach configured closed-ticket category exists and the bot has permissions in it
Staff RolesEvery configured staff role still exists
Bot PermissionsThe bot has Manage Channels, Send Messages, View Channel, Manage Messages, Embed Links, Attach Files, and Read Message History at the server level (or Administrator)

The result groups findings into Errors, Warnings, and All Checks Passed, each with a short explanation. Run it first whenever tickets stop being created.


/auto-close

Set how long a ticket may stay inactive before it is closed automatically.

/auto-close <time>
OptionTypeRequiredAllowed values
timeTextYesA duration such as 30M, 2H, or 1D, or off to disable. Minimum 15 minutes, maximum 30 days

Who can run it: server administrators.

Plan: Basic or higher.

What happens: open tickets with no messages for the configured time are closed automatically. Closed tickets are not affected. The confirmation shows the new time, or Auto-Close Disabled when you pass off. The same setting is available in the dashboard, where you can also enable reminders before the close.

Examples

/auto-close time:2D
/auto-close time:off

Errors: TC012 (unrecognised format, under 15 minutes, or over 30 days), TC014 (Free plan), TC017 (run in a DM), TC002 (not an administrator).


/approval

Request, decide, and check approvals for sensitive actions such as refunds. Run inside the ticket the request belongs to.

/approval request <type> [reason] [urgency] [amount] [custom_type]
/approval approve [reason]
/approval reject <reason>
/approval status

Plan: Enterprise only. The approval process must also be enabled and configured in the dashboard under Approvals (approver role, enabled request types, timeout, and an optional audit channel).

request options

OptionTypeRequiredAllowed values
typeChoiceYesrefund, ban, policy_exception, escalation, custom
reasonTextNoFree text
urgencyChoiceNolow, medium, high
amountNumberNoAny number; meant for refunds and other financial requests
custom_typeTextNoRequired when type is custom

approve takes an optional reason. reject requires a reason. status has no options.

Who can run it: staff can request and view status. Only members holding the configured approval role can approve or reject.

What happens

Staff submit a request

A card with the request ID, type, urgency, amount, and reason is posted in the ticket, and the customer sees a note that their request is under review.

Approvers are notified

The approval role is pinged with the request details. If a timeout is configured, the request expires after that many hours.

An approver decides

/approval approve or /approval reject records the decision, names the approver, and notifies the customer of the outcome.

The decision is logged

When an audit channel is configured, the decision, approver, and response time are posted there.

Errors

CodeWhen
TC014The bot owner is not on Enterprise
TC018The approval process is not enabled, or the request type is not enabled for this server
TC011Approvals are not configured for this server
TC002Non-staff tried to request, or someone without the approval role tried to approve or reject
TC012reject without a reason
TC015The ticket already has a pending, approved, or rejected request; or there is no pending request to decide; or another approver already decided

/purge

Delete ticket channels in bulk. This cannot be undone.

/purge [type]
OptionTypeRequiredAllowed valuesDefault
typeChoiceNoall, open, closedall

Who can run it: the server owner only. Nobody else can run the command or press its confirmation button.

What happens

  1. The bot counts the matching tickets and shows a warning with the number of channels to delete, the scope, and a reminder that transcripts not already exported are lost.
  2. Press Confirm Purge to continue or Cancel to stop.
  3. Every matching ticket channel is deleted and each ticket is marked deleted, so it no longer counts toward open ticket limits. Ticket records stay in the dashboard for analytics.
  4. A results card lists how many tickets and channels were deleted and how many channel deletions failed (usually channels that were already gone).

Example

/purge type:closed

For routine cleanup, enable auto-delete in the dashboard so closed tickets remove themselves, instead of purging by hand.

Errors: TC002 (not the server owner), TC012 (an outdated confirmation button).

Common questions

I ran /setup but the bot still says the server is not set up. /setup only creates Discord resources. Open the dashboard, pick the categories, roles, and channels it created, and save. Tickets work only after the configuration is saved.

Can I run /setup again? Yes. It detects the existing resources and offers to create a second set with TicketCord-prefixed names, use the existing ones, or cancel. Nothing is deleted.

Why is /setup not in my command list? Discord hides it unless you have Administrator, or Manage Channels and Manage Roles.

/embed says the embed contains an invalid emoji. The embed uses a custom emoji that was deleted or belongs to a server the bot is not in. Edit the embed in the dashboard, replace the emoji, and post it again.

Can /auto-close warn people before closing? The command only sets the time. Reminders before the close are configured in the dashboard under automation.

Who can approve an approval request? Only members with the approval role selected under Approvals in the dashboard. Staff without that role can request and check status but cannot decide.

Does /purge delete transcripts? It deletes the ticket channels. Transcripts already posted to the transcript channel stay there; anything not yet exported is lost.

Last updated on

On this page