Server

Tickets

Tickets let members open a private channel with staff from a panel of buttons or a dropdown. Each option (ticket type) has its own roles, form, messages, timers and buttons, and every ticket keeps a transcript.

Quick setup

  1. ?tickets settings
    Staff roles (used when an option has none), log channel and claim profiles.
  2. ?tickets panels
    Add a panel - name, channel and Buttons or Dropdown. It's sent with a Support option ready.
  3. ?tickets options
    Set up each ticket type: Behavior, Form, Messages, Style, Convert.
  4. ?tickets forms
    Optional questions asked before the ticket opens (up to 5 fields).
  5. ?tickets logs channel #ticket-logs
    Log opens, claims, closes and deletes - closes and deletes come with the transcript.

Lifecycle

Open → claim / unclaim / move → close → reopen or delete. Closing hides the creator; deleting saves the transcript first and removes the channel after the panel's delete delay. The first message of a ticket is a card that always shows its state and the right buttons.

Who can do what

Support (the option's roles) beats Trainee beats Staff (the global roles). The owner and administrators can do everything. Only the claimer (or an admin) can act on a claimed ticket. The creator can close their own ticket unless that's turned off.

Automation

Per option: an inactivity reminder, auto-close after no reply from the creator, auto-delete after close, and close when the creator leaves. Dragging a ticket into another option's category moves it there.

Limits

15 panels per server, 10 active and 10 standby options per panel, 25 forms with up to 5 fields each.

Hosting mode

Under release: it works, but it's still being fixed: some Paymenter setups refuse the API key (the error says why), and Blesta / WHMCS haven't been tried on every version. See the changelog for what's known.

For hosting companies: ?tickets hosting setup connects Paymenter, Blesta or WHMCS. Before a ticket opens, the member enters their billing email and one of their service IDs (proof the account is theirs), then picks the service or invoice it's about. Staff get a **User info** button with the client, their services and unpaid invoices, read live from the panel. ?tickets hosting on / off.

  • {ticket.hosting.name} {ticket.hosting.email} {ticket.hosting.client_id} {ticket.hosting.provider}
  • {ticket.hosting.about} {ticket.hosting.type} {ticket.hosting.service} {ticket.hosting.invoice} {ticket.hosting.verified}

Support PIN extension

Safer than a service ID: each client gets a support PIN in their billing area, and the bot checks email + PIN. Download this extension and upload it to your website (your billing server), set its Bot secret and Allowed IPs (tickets hosting ip shows the bot's IP), then choose Support PIN under Verification in tickets hosting setup.

  • Download for Paymenter - upload the SupportPin folder to extensions/Others/, enable it in Admin > Extensions.
  • Download for WHMCS - upload the modules folder to your WHMCS root, activate it in System Settings > Addon Modules.
  • Locked down: allowed IPs only, HTTPS only, a bot secret, the PIN never in a URL, 5 wrong tries lock the email for 15 minutes, and it never says whether an email exists.

Variables

Ticket messages use {ticket.*} variables and {if} blocks - for example {ticket.case}, {ticket.author.mention}, {ticket.reason.closed}, {ticket.form.field.reason} and {ticket.transcript.url}.

43 commands · (required) [optional] · also on the commands page

?tickets

Private tickets between members and staff.

?tickets
Permissions noneAliases ticket, tixCooldown 4 per 8s per user

?tickets allow

You can use the ?tickets allow command to let a member or role into this ticket.

?tickets allow (member or role)
Permissions noneCooldown 4 per 8s per user

?tickets allow add

You can use the ?tickets allow add command to let a member or role into this ticket.

?tickets allow add (member or role)
Permissions noneCooldown 4 per 8s per user

?tickets allow list

Who was let into this ticket.

?tickets allow list [channel]
Permissions noneCooldown 4 per 8s per user

?tickets autoclose

You can use the ?tickets autoclose command to close a ticket when its creator hasn't replied for a while.

?tickets autoclose (time or off) [option]
Permissions AdministratorAliases auto-closeCooldown 4 per 8s per user

?tickets autodelete

You can use the ?tickets autodelete command to delete a closed ticket's channel after a while (the transcript is kept).

?tickets autodelete (time or off) [option]
Permissions AdministratorAliases auto-deleteCooldown 4 per 8s per user

?tickets autotranscript

Where a ticket's transcript goes when it closes: the log channel and / or the creator's DMs.

?tickets autotranscript [log on/off] [dm on/off]
Permissions AdministratorAliases transcriptsCooldown 4 per 8s per user

?tickets blacklist

You can use the ?tickets blacklist command to stop a member or role opening tickets (toggle).

?tickets blacklist [member or role]
Permissions AdministratorAliases blCooldown 4 per 8s per user

?tickets claim

You can use the ?tickets claim command to claim a ticket.

?tickets claim [channel] [reason]
Permissions noneCooldown 4 per 8s per user

?tickets close

You can use the ?tickets close command to close a ticket.

?tickets close [channel] [reason]
Permissions noneCooldown 4 per 8s per user

?tickets delete

You can use the ?tickets delete command to delete a ticket and its channel.

?tickets delete [channel] [reason]
Permissions noneCooldown 4 per 8s per user

?tickets deny

You can use the ?tickets deny command to take a member or role out of this ticket.

?tickets deny (member or role) [channel]
Permissions noneCooldown 4 per 8s per user

?tickets forms

Intake forms shown before a ticket opens.

?tickets forms [name]
Permissions AdministratorAliases formCooldown 4 per 8s per user

?tickets hosting

Hosting mode: members verify their billing account (Paymenter, Blesta, WHMCS) before a ticket opens.

?tickets hosting
Permissions AdministratorAliases billingCooldown 4 per 8s per user

?tickets hosting check

You can use the ?tickets hosting check command to see what the bot finds in the billing panel for an email.

?tickets hosting check (email)
Permissions AdministratorAliases debug, lookupCooldown 4 per 8s per user

?tickets hosting ip

The IP to allow in your billing panel, and the read-only permissions to give.

?tickets hosting ip
Permissions AdministratorCooldown 4 per 8s per user

?tickets hosting off

You can use the ?tickets hosting off command to turn hosting mode off (the settings are kept).

?tickets hosting off
Permissions AdministratorAliases disableCooldown 4 per 8s per user

?tickets hosting on

You can use the ?tickets hosting on command to turn hosting mode on.

?tickets hosting on
Permissions AdministratorAliases enableCooldown 4 per 8s per user

?tickets hosting setup

You can use the ?tickets hosting setup command to pick the billing panel, add its API and choose where it's used.

?tickets hosting setup
Permissions AdministratorAliases config, settingsCooldown 4 per 8s per user

?tickets list

Every open ticket.

?tickets list
Permissions noneCooldown 4 per 8s per user

?tickets logs

Where ticket logs go and what gets logged.

?tickets logs
Permissions AdministratorAliases log, loggingCooldown 4 per 8s per user

?tickets logs channel

You can use the ?tickets logs channel command to send ticket logs to a channel.

?tickets logs channel (channel)
Permissions AdministratorAliases setCooldown 4 per 8s per user

?tickets logs events

You can use the ?tickets logs events command to pick which ticket actions are logged.

?tickets logs events
Permissions AdministratorAliases toggleCooldown 4 per 8s per user

?tickets logs off

You can use the ?tickets logs off command to stop ticket logs.

?tickets logs off
Permissions AdministratorAliases disable, removeCooldown 4 per 8s per user

?tickets move

Move a ticket to another option (or a channel to a category).

?tickets move [channel] (option or category) [reason]
Permissions noneCooldown 4 per 8s per user

?tickets options

You can use the ?tickets options command to set up the ticket types under each panel.

?tickets options
Permissions AdministratorAliases optionCooldown 4 per 8s per user

?tickets panels

You can use the ?tickets panels command to create and set up ticket panels.

?tickets panels [name]
Permissions AdministratorAliases panelCooldown 4 per 8s per user

?tickets profile

Your personal claim profile (category, rename, message).

?tickets profile
Permissions noneCooldown 4 per 8s per user

?tickets profiles

You can use the ?tickets profiles command to turn claim profiles on or off, or edit a member's.

?tickets profiles
Permissions AdministratorCooldown 4 per 8s per user

?tickets reason

You can use the ?tickets reason command to change a stored reason.

?tickets reason (claim/close/reopen/delete/move) [channel or case] (reason)
Permissions noneCooldown 4 per 8s per user

?tickets reminder

Remind the ticket's creator when they haven't replied for a while.

?tickets reminder (time or off) [option]
Permissions AdministratorAliases inactivity, remindCooldown 4 per 8s per user

?tickets rename

You can use the ?tickets rename command to rename a ticket channel.

?tickets rename [channel] (new name)
Permissions noneCooldown 4 per 8s per user

?tickets reopen

You can use the ?tickets reopen command to reopen a closed ticket.

?tickets reopen [channel] [reason]
Permissions noneCooldown 4 per 8s per user

?tickets resend

You can use the ?tickets resend command to resend the panel messages (in a channel, or all).

?tickets resend [channel]
Permissions AdministratorCooldown 4 per 8s per user

?tickets settings

Staff roles, log channel and profiles.

?tickets settings
Permissions AdministratorAliases config, setupCooldown 4 per 8s per user

?tickets stats

Ticket stats for the server or a staff member.

?tickets stats [30m/2h/3d/2w/today/all] [member]
Permissions noneCooldown 4 per 8s per user

?tickets timers

Every option's reminder, auto-close and auto-delete.

?tickets timers
Permissions AdministratorAliases automation, timerCooldown 4 per 8s per user

?tickets trainee

Trainee permissions for this ticket.

?tickets trainee
Permissions noneCooldown 4 per 8s per user

?tickets trainee grant

You can use the ?tickets trainee grant command to let a trainee speak, claim and close in this ticket.

?tickets trainee grant (member or role)
Permissions noneCooldown 4 per 8s per user

?tickets trainee list

Trainee permission overrides in this ticket.

?tickets trainee list
Permissions noneCooldown 4 per 8s per user

?tickets trainee revoke

You can use the ?tickets trainee revoke command to take back a trainee's extra permissions here.

?tickets trainee revoke (member or role)
Permissions noneCooldown 4 per 8s per user

?tickets transcript

You can use the ?tickets transcript command to make or fetch a ticket's transcript.

?tickets transcript [channel or case id]
Permissions noneCooldown 4 per 8s per user

?tickets unclaim

You can use the ?tickets unclaim command to remove the current claimer from a ticket.

?tickets unclaim [channel]
Permissions noneCooldown 4 per 8s per user

Questions

How do I change the ticket messages?

?tickets options > pick the option > Messages - greeting, DMs, claim, close, reopen, inactivity and more. Leave one empty for the default.

Where are transcripts?

In the log channel (if set), and always on demand with ?tickets transcript - or ?tickets transcript (case number) for an old ticket.