STYGION Documentation Search the docs

Tickets

Opened in game or on Discord with one command, answered wherever your team is, optionally forwarded to your own queue, and the conversation survives closing it.

Keystone 0.2.8 Updated 2 min read
On this page 5 parts
  1. Without learning a syntax
  2. What to configure
  3. Forwarding to another queue
  4. The transcript
  5. Reports about people

Tickets

A player types /ticket <what is wrong> and the ticket is open. Your team answers — in game with /tickets, or in the private Discord channel it opened. Both are the same conversation.

Without learning a syntax

#

New in 0.2.6. /ticket <what is wrong> opens a ticket straight away, with the kind set by default-kind; /ticket bug … still chooses a kind. /bug and /feedback are commands of their own (shortcuts). An answer reaches the player in game with a chime, now or the next time they join.

What to configure

#

tickets.toml:

  • kinds is what somebody may open, and what each one is for. The default is help, bug and report; the arrow after each is where you write the description a player sees when they pick it.
  • limit-per-person is how many somebody may have open at once. Default three.
  • cooldown stops the same person opening one every second.

discord.tickets.category puts the ticket channels in that category, and discord.tickets.roles is who on Discord can see and answer them. Without a category the Discord half stays off and tickets are a purely in-game thing — which is a fine way to run it.

Forwarding to another queue

#

New in 0.2.6, off by default. With tickets.forward.url set, every ticket, line and close is posted there as JSON, with tickets.forward.key as a bearer token. What cannot be delivered is kept and retried for three days. Answers come back through POST /v1/tickets/reply and POST /v1/tickets/close (key scope tickets.write).

This is data leaving the machine, so it is guarded: the address must be https on the internet and only the owner can set it; loopback, LAN, link-local and names that resolve there are refused unless tickets.forward.allow-local; redirects are never followed; the log shows only the scheme and host.

The transcript

#

Closing a ticket does not delete it. The whole conversation is kept in the mod, so a report that comes back a month later has its history, and so an answer somebody gave can be found again. The Discord channel is deleted when the ticket closes — it is a window onto the ticket, not the ticket itself. That is the difference between a ticket and a message in chat.

Reports about people

#

report is a kind like any other, but the person being reported is not told and does not see the channel. What happens next is moderation — a ban carries its reason and who set it, and the player sees that reason on the screen they are shown.

Did this page help?

Opens the feedback panel with this page attached. It lands in the same queue as everything else.