How Zerk's ticket system works
Everything below applies to both the dashboard and typing commands in Discord - use whichever's easier for a given task.
Getting started
Three steps to a working ticket system:
- Invite Zerk to your server - the invite link already has Manage Channels, Manage Roles, and Manage Messages pre-checked, which it needs to create ticket channels and lock them down.
- Log into the dashboard with the same Discord account, then pick your server from Servers.
- Go to Ticket Panels → New panel, pick a channel and a style (buttons or dropdown), then add at least one ticket type before anyone can open a ticket.
Ticket panels
A panel is one message in a channel with buttons or a dropdown on it. Each option on that panel is a ticket type - its own label, category, support role, welcome message, and channel naming pattern.
You can run multiple panels (e.g. one for "Support", one for "Report a player") in different channels, each with its own set of types. Click a panel's Edit button to open its settings menu, which mirrors the same grouped layout as the rest of this dashboard - Panel for the embed (title/description/color/image), Buttons for managing its ticket types.
Ticket settings
Server-wide, under Ticket Settings in the sidebar:
- Language - controls the default text for new panels/welcome/close messages (English, Español, Русский, Lietuvių). Anything you've already customized is left alone.
- Log channel - gets a lightweight embed every time a ticket is opened, claimed, or closed.
- Transcript channel - gets the full conversation as a text file when a ticket closes.
- Max open tickets per user - how many tickets one member can have open at once.
- Ping support role - mentions the ticket type's role when a new ticket opens.
- DM transcript to opener - also sends the closing member a copy of the transcript.
- Auto-close after inactivity - closes a ticket automatically after N hours with no messages (0 disables it).
- Close message - shown when a ticket closes, in any language, editable per server.
General options
Also server-wide, under the General tile on a panel's menu:
- Additional support roles - roles that count as staff on every ticket, on top of whatever role a specific ticket type already grants access to.
- Two-step close / two-step ticket - adds a Confirm/Cancel step before a ticket actually closes or actually gets created, to catch accidental clicks.
- Auto-pin - whether the welcome message gets pinned automatically in new tickets.
- Ticket number padding - zero-pads the ticket count in channel names, e.g. 4 digits turns ticket #7 into
ticket-0007.
Claiming
Staff can claim a ticket (via the Claim button or !ticket claim) to mark themselves as handling it. Under the Claiming tile:
- Only claimer can unclaim - stops anyone but the original claimer (or admins) from unclaiming.
- Roles on claim/unclaim - roles added or removed from the ticket owner (not the claimer) when a ticket is claimed or unclaimed.
- Rename on claim - renames the channel to a pattern like
Claimed-{count}. - Move to category on claim - relocates the channel once someone's handling it.
- Claimed / unclaimed messages - custom text shown for each, in place of the defaults.
Custom commands
Under Custom Commands in the sidebar, set up canned replies staff can trigger inside any open ticket by typing the bot's prefix plus the trigger word - e.g. add a command called refund and staff type !refund in the ticket to send its saved response. Only staff (support roles or Manage Server) can trigger them; ticket openers typing the same word won't do anything.
Command reference
Everything above also works as a Discord command (prefix or slash) under ticket:
ticket panel create/embed/style/placeholder/list/delete- manage panelsticket type add/remove/list/welcome/name- manage a panel's ticket typesticket settings ...- log channel, transcripts, limits, auto-close, language, claimingticket general ...- support roles, two-step confirmations, auto-pin, paddingticket customcommand add/remove/list- custom commandsticket close/claim/unclaim/add/remove/rename/transcript- run inside an open ticket
Run !help ticket in Discord for the full list with descriptions.
FAQ
The dropdown/button says "didn't respond in time". The bot may still be starting up, or its database connection is slow - try again in a few seconds. If it persists, check with whoever manages the bot's hosting.
I edited a setting but nothing changed. Dashboard changes sync to the bot every ~10 seconds - give it a moment and refresh.
Can I have more than one panel? Yes - each is independent with its own channel, style, and ticket types.
A feature I want isn't here yet. Several sections (Category, Moderator, Permissions, Forms, Thread-style tickets, and more) are marked "Coming soon" on a panel's menu - they're on the roadmap.