Skip to content

Tickets

Ticket panels give your members a button (or menu) to open a private support or application channel. A single panel can offer several ticket types — each with its own requirements, questions, staff roles, and category. Requirements are enforced: if an applicant’s linked accounts don’t meet the Town Hall, hero, trophy, or war-star bar, the ticket won’t open.


Create a panel with one starter ticket type. Add more types with type-add.

Option Type Required Notes
name string Yes Internal panel name (used by the other subcommands).
title string No Embed title.
description string No Embed description.
color string No Hex color, e.g. #5865F2.
button_label string No Menu-mode button label.
button_emoji string No Menu-mode button emoji.
display_mode string No menu (a select) or buttons (one per type, ≤5).
category channel (category) No Default category new tickets open under.
staff_role role No Ping + access role for the starter type.

Edit a panel’s base fields (title, description, color, button, display mode, category). Re-post afterward to refresh the live message.

Option Type Required Notes
name string Yes Which panel to post.
channel channel (text) No Target channel (defaults to the current one).

/ticket panel-info · /ticket list · /ticket panel-delete

Section titled “/ticket panel-info · /ticket list · /ticket panel-delete”

Inspect a panel’s types + settings, list every panel, or delete one. Each takes a required name (except list).


A panel can hold up to 25 ticket types.

type-add needs panel and label; type-edit needs panel and type (autocompleted). Both accept the same fields:

Option Type Notes
emoji string Button/menu emoji.
button_style string primary, secondary, success, danger.
require_linked boolean Require a linked CoC account to open.
th_min integer Minimum Town Hall (1–18).
min_trophies integer Minimum trophies.
max_accounts integer How many accounts an applicant may apply with (1–25).
staff_role role Ping + full access.
view_role role View-only access.
add_role / remove_role role Added to / removed from the opener.
open_category / sleep_category / closed_category channel (category) Category per lifecycle stage.
naming string Channel naming, e.g. ticket-{count} (tokens: {count}, {user}, {account_name}, {account_th}, {status}).
staff_thread boolean Open a private staff thread with the ticket.
allow_claim boolean Show Claim / Unclaim buttons.
auto_sleep_hours integer Auto-sleep the ticket after N idle hours (1–720).

Remove a type by panel + type.


Requirements are checked against the opener’s linked accounts when they click Open. An account that fails any rule is never offered; if none qualify, the ticket does not open and the applicant sees exactly what they’re short on.

Set per-Town-Hall hero and war-star minimums for a type.

Option Type Required Notes
panel string Yes Panel name.
type string Yes Ticket type (autocompleted).
town_hall integer Yes The Town Hall row these rules apply to (1–18).
bk / aq / gw / rc integer No Minimum Barbarian King / Archer Queen / Grand Warden / Royal Champion.
war_stars integer No Minimum war stars.
min_trophies integer No Type-level trophy minimum.
requirement string No Freeform note shown to applicants.
/ticket apply-rules panel:apply type:main town_hall:16 bk:90 aq:90 gw:65 rc:45 war_stars:2000

Attach up to five questions to a type. When someone opens that type, ClashDuke shows a form and posts the answers inside the ticket.

Option Type Required Notes
panel string Yes Panel name.
type string Yes Ticket type (autocompleted).
q1q5 string No Question prompts.
optional boolean No Make every question optional (default: required).

Staff can Claim a ticket (button, or /ticket claim) so everyone knows who’s handling it, and Unclaim to release it. Reopening a ticket clears its claim.


Run these inside the ticket channel (staff), or use the in-ticket buttons.

Subcommand Options Purpose
close Close the ticket (staff or the opener). Saves a transcript, then deletes the channel.
add user (required) Add a user to the ticket.
sleep Mark the ticket dormant (moves it to the sleep category, mutes the opener).
reopen Wake a dormant/closed ticket and clear any claim.
status status (required) open, sleep, close, or delete.
approve / deny reply, reason Resolve the application with a saved reply (or the default), then close.

The in-ticket message also carries Notify Me, Reply, Set Clan, and Close buttons. Notify Me pings you when the applicant next replies.


/ticket saved-reply-set · saved-reply-delete · saved-reply-list

Section titled “/ticket saved-reply-set · saved-reply-delete · saved-reply-list”

Store up to 25 reusable replies. Content supports variables that expand when the reply is posted (via a ticket’s Reply button or /ticket approve/deny):

{user} {name} {th} {clan} {account_name} {account_heroes} {clan_tag} {ticket_count} {server_name}

/ticket saved-reply-set name:welcome content:Welcome {user}! Your TH{th} is a great fit for {clan}.

Route lifecycle events to channels.

Option Type Notes
panel string Panel name (required).
button_click channel (text) Log panel clicks.
status_change channel (text) Log opens / claims / sleeps.
ticket_close channel (text) Log closes with the transcript attached.

Set auto_sleep_hours on a type and ClashDuke automatically marks idle tickets dormant. The clock resets whenever the applicant replies; staff can reopen a slept ticket at any time.


Opt yourself in or out of being auto-pinged when new tickets open. Opting out keeps your channel access — you simply stop being pinged.

Option Type Required Notes
choice choice Yes In (get pinged) or Out (stop being pinged).
/ticket opt choice:Out