Quick Start (Slash Commands)

The fastest way to get a working ticket system running without touching the dashboard

  1. Run /server-setup and open Tickets, then Panels & Types.
  2. Click New Panel and give it a title and, if you want, a description. This is the message members will see and click to open a ticket.
  3. Click Add Type to create at least one ticket type, like "Support," with a label and an optional emoji.
  4. Open that type and set a Category so its tickets land in the right place, and a Staff Role Override if you want a specific role to see it instead of your default Mod/Admin roles.
  5. Back on the panel, click Post / Repost and choose a channel to publish it to.

Members can now click the panel to open a ticket. Full details on every panel and type option are under Panels & Types below.

From the Tickets menu, click Settings to tune server-wide behavior

  1. Defaults sets the fallback category and the welcome message used whenever a ticket type doesn't set its own. Nothing here switches tickets on, because there is no on/off switch: the system simply has nothing to open until a panel is posted.
  2. Staff & Claiming controls whether staff can claim a ticket to signal ownership, an optional role limiting who may claim, and whether a claimed ticket locks out other staff.
  3. Limits & Auto-Close caps how many tickets one member can have open and auto-closes tickets after a period of inactivity.
  4. Under Closing, you can require a reason and/or confirmation before a ticket closes, and DM the owner when it does.
  5. Rating & Controls adds a post-close star rating and lets you choose which staff control buttons appear inside ticket channels.

See In-Ticket Controls and On Close below for what each setting affects.

Commands

/ticket open
Open a new ticket of a given type.
type: required
/ticket close
Close the current ticket.
reason: optional
/ticket claim
Claim (or unclaim) the current ticket as staff.
/ticket list
Staff: list every currently open ticket in the server.
/ticket add
Staff: add a member to the current ticket.
user: required
/ticket rename
Staff: rename the current ticket's channel.
name: required
/ticket priority
Staff: set the current ticket's priority level.
level: required
/ticket note
Staff: post an internal note inside the current ticket.
text: required
/ticket forceclose
Staff: close a ticket from outside its channel, with no confirmation step.
channel: required reason: optional
/server-setup
Opens a guided menu for configuring ticket panels, types, and settings using buttons and dropdowns. It's an in-Discord alternative to the dashboard builder.

Panels & Types

A panel is a message you post to any channel, in one of three styles: Buttons (default, up to 25 ticket types), Dropdown (a select menu, up to 25 types), or Commands (just points members at /ticket open).

Each type you configure has its own label, emoji, button color, description, destination category, staff role(s) (falls back to your Mod/Admin roles if left blank), ping role, custom welcome message, channel name format, and up to 5 pre-ticket questions asked in a modal before the channel is even created.

Posting a panel from the dashboard when it has no ticket types on it creates one called Support, so the panel goes out with a working button instead of being refused. A panel that has types and has every one of them switched off is a deliberate state, so posting it is still refused, and says to turn one back on.

Opening a Ticket

In-Ticket Controls

The opening message always has Close; the rest are independently toggleable (all default on except Claim)

ControlDefaultWhat it does
ClaimOffStaff can claim/unclaim; claiming renames the channel and can lock out other mod roles (not admins)
Add MemberOnAdd another member to the ticket via a user-select menu
RenameOnRename the ticket channel
PriorityOnSet a priority level, shown as a field on the ticket
NoteOnPost an internal staff note inside the ticket, separate from /note (see Staff Notes)

Closing asks for confirmation and prompts for a reason in a modal. Both are on for a server that has never configured tickets, and both are toggles; a server that has already saved its ticket settings keeps what it chose.

On Close

Aegis generates a browsable HTML transcript (viewable and searchable from the dashboard), logs the close with opener/closer/reason, optionally DMs the ticket owner a close notice and/or a 1โ€“5 star rating request, then deletes the channel after a short delay.

Transcripts

Every closed ticket is archived as a browsable HTML transcript, searchable from the dashboard by ticket number, type, who opened it or who closed it.

Discord's attachment links are signed and expire within a day, and the channel holding the originals is deleted when the ticket closes, so a transcript that merely linked to them would be broken by the time anyone opened it. The only thing that survives is a copy of the file itself, taken at close.

Premium servers get that copy: images posted in a ticket are saved with the transcript and render in the archive months later, up to 8MB per ticket. A server's images are capped at 250MB in total, and once that fills the oldest ticket's images are dropped to make room. That transcript keeps its conversation and falls back to listing the filenames. Downloading a transcript brings its images along inside the file, so a saved copy still shows them with nothing else needed.

Everywhere else, and for non-image files on every tier, attachments are recorded by filename. The name is the part that still tells you something.

A server keeps its newest 1,000 transcripts (5,000 on premium). Once the archive is full, closing a ticket drops the oldest one to make room. The count above the list doubles as a fill gauge and turns red as it approaches the limit.

Each transcript can be downloaded as a standalone HTML file that opens in any browser, so anything worth keeping can live on your own machine rather than counting against the archive.

Transcripts can also be deleted deliberately: one at a time from its row, or in bulk by everything matching the current search, everything opened by one member, everything closed by one staff member, every ticket of one type, or the whole archive. Both paths need two clicks and are recorded in the Settings Audit Log. Deletion is permanent. The archived copy is the only one Aegis holds.

Auto-Close

Optional. Force-closes a ticket after a configurable number of hours (default 48) of no new messages, checked every 15 minutes across all servers.

Simple & Advanced

The dashboard's Tickets page opens in Simple, which shows what it takes to have tickets working: the panel's title and description, the channel it posts to, the message that greets whoever opens a ticket, and auto-close. Advanced holds the rest, including the ticket types, the panel's color, image and interaction mode, and every setting apart from the welcome message and auto-close. A server that has any of the settings Simple switches off already on opens in Advanced instead. Live Tickets and Transcripts are the same in both.

Switching to Simple names the settings it will turn off, and the few it will turn on, and waits for you to confirm. Confirming writes nothing: the changes are staged on the save bar like any other edit, so Save commits them and Reset puts them back. The mode is remembered per page and per server, so choosing Simple here doesn't paint Simple over your other pages or your other servers.

The Settings tab is grouped by a ticket's life

The welcome message has a card of its own between them. It's the message every new ticket opens with, unless the ticket's type sets one of its own.

Dashboard

Build panels and types visually, tune all the toggles above under Tickets โ†’ Settings, and view/manage every currently-open ticket plus rating stats from a live ops panel. The panel/type builder uses the same Save/Reset bar as the rest of the dashboard. Your edits only publish (and repost live panels) when you hit Save, and Reset discards them.

Everything here is also reachable without leaving Discord: run /server-setup and pick Tickets for the same panel/type builder and settings, driven by buttons and dropdowns instead of the dashboard's forms. Both read and write the same data, so a panel built one way can be edited from the other.