Skip to main content
Tickets are in beta: for now they only work in Lucie’s support server. They’ll reach every server very soon.
With tickets, a member presses a button and Lucie opens a private channel where it’s just them and your team. There you can talk calmly, solve the issue and close it, and the conversation is saved as a transcript. Everything is configured from the web panel; the commands are for day-to-day work inside each ticket. And it’s completely free: no paid plan and no locked features.
On this page, “panel” on its own means a ticket panel: the message with the button that opens tickets. The website where you configure everything is the web panel.

Getting it running

1

Open the section

Go to lucie.elxy.dev, pick the server and, in the Support group, click Tickets. You need the Manage Server permission.
2

Create your first panel

Click Create the first panel. Each panel has its own settings: team, category, texts, buttons and form.
3

Choose the team and the category

In the Team tab, choose the Team roles that will handle the tickets. In Opening, choose the Open tickets category where Lucie will create the channels.
4

Save and post

Save with the bar at the bottom, choose the channel in the panel bar and click Post: Lucie sends the message with the button there.
5

Turn them on

Switch on Tickets on in the header and save. It’s the last step on purpose: you can have everything ready before anyone can open tickets.
The Overview tab has a Getting started checklist that ticks off what you’ve done and takes you to what’s missing. Once it’s all set, /ticket debug on Discord confirms that Lucie has what she needs.

The life of a ticket

  1. Open. Lucie creates the channel (ticket-0001 by default; each panel numbers its own) with a welcome message and the Close, Claim and User card buttons. Only the person who opened it, your team and anyone added can see it.
  2. Closed. By default, the person who opened it can still read it but no longer write. The channel moves to the closed category (if there is one) and the Team controls appear: Reopen, Transcript and Delete.
  3. Deleted. Lucie posts a notice in the channel, saves the transcript if needed and deletes the channel a few seconds later.
A closed ticket can be reopened as many times as needed. If you’d rather closing be final, turn off Keep the closed ticket and closing will delete it right away.

The web panel, tab by tab

The section has six tabs. Overview covers the whole server; the other five belong to one panel, the one you pick in the Panel: bar at the top. Changes to all panels are saved together with the bar at the bottom.

Overview

  • Counters: tickets open right now, created and closed in the last 7 days, and claimed.
  • Access and limits (applies to every panel): Roles without tickets (can’t open any), Roles without limits (skip the limits and waits) and Server limit (100 by default; 0 = no limit).
  • Log and privacy: Log channel, Keep transcripts, Panel for /ticket new, User card and AI summary.
  • Panels: create, edit, clone or delete panels (up to 25 per server) and see which ones are posted.
  • Recent tickets: the server’s latest, filterable by state or by user ID, with their transcripts.
  • Change history: who changed what in tickets from the web panel, over the last 90 days.

Opening

Without a closed category, closed tickets stay in the open one and keep filling it up. Also, Discord only lets a channel be renamed twice every 10 minutes, so a new name can take a while to show.

Messages

The 13 messages Lucie sends —the posted panel, the welcome, the close confirmation, the channel notices, the DMs to the author…— can all be rewritten: a content and an embed with title, description, color and footer. Each one uses the default text, in the server’s language, until you change it; Reset brings it back. Some notices can be turned off with Don’t send this message. The editor has a preview and a Variables helper: click one and it’s inserted at the cursor. Mentions only ping if they’re in the content, not in the embed. The most useful variables:

Buttons

Text (up to 80 characters), emoji, color (blue, gray, green or red) and whether it shows, for the 8 editable buttons: Open ticket, Close, Cancel closing, Confirm closing, Reopen, Delete, Transcript and Claim. A button can go without text or without an emoji, but not without both.
An emoji from another server only works if Lucie is in that server. If she can’t use it, the tab flags it and Discord shows the default emoji instead.

Team

  • Team roles (up to 10): see every ticket in the panel and can close, claim and delete them and use the rest of the actions.
  • Additional roles (up to 10): see the tickets with the permissions of their row, but without the team actions.
  • Claiming: Allow claiming, Only the claimer releases it, Take over a claim and Rest of the team read-only (while it’s claimed, the rest of the team can’t write).
  • Channel permissions: what each group (author and added, team, additional) can do while the ticket is Open and Closed. @everyone never sees tickets.
Whoever manages the server (owner, Administrator or Manage Server) always counts as team in every panel. If a panel has no team roles, only those people will see its tickets.

Closing

Posting the panel in a channel

In any of a panel’s tabs, the top bar has the channel and the Post button. Lucie posts what’s saved, so save first.
  • Once posted, the button becomes Update. If you change something and save, the Unposted changes badge reminds you to press it.
  • If you post in another channel, Lucie deletes the previous message: you never end up with two copies of a panel working.
  • Update from link reuses a Lucie ticket panel that already exists: paste its link (right-click the message › Copy link) and Lucie edits it with this panel.
Lucie needs View Channel, Send Messages and Embed Links in that channel.

Inside a ticket

Opening

The member presses the panel’s button (or picks its option in the dropdown). If the panel has a form, they fill it in first; if not, the channel opens right away and Lucie replies with the link. They can also use /ticket new, which opens with the Panel for /ticket new.

Closing

Close on the welcome message. Depending on the panel, Lucie asks for a reason, asks for confirmation (Close ticket / Cancel) or closes it directly. By default the person who opened it can close it too. /ticket close closes without a confirmation step.

Reopening and deleting

With the ticket closed, the team has Reopen (restores the open permissions and the open category) and Delete (asks for confirmation, posts a notice in the channel and deletes it after the configured wait). Only the team can reopen and delete.

Claiming

Claim assigns the ticket to whoever presses it, and the button becomes Release. Lucie tells the author who is handling it, without pinging the person who claimed. If someone on the team already has it, the others can’t take it unless you turn on Take over a claim; whoever manages the server always can.

Adding and removing

/ticket add gives a user or a role access, and /ticket remove takes it away. Added people get the same permissions as the author. At most 20 users and roles can be added per ticket. You can’t add or remove @everyone, Lucie or the author, or remove whoever is handling the ticket. Team roles and additional roles are changed in the web panel, not from here.

Close request

When you think the issue is solved, /ticket closerequest asks the author whether it can be closed. It reaches them with Yes, close and No, keep it open, and only they can answer: if they accept, the ticket closes; if not, it stays open and the message says so.

Renaming

/ticket rename changes the channel’s name. Discord only allows 2 renames every 10 minutes per channel, so Lucie applies it as soon as she can.

Commands

They all work with /ticket and with !ticket (aliases tickets and tk). Except for new and debug, they’re used inside the ticket’s channel. !ticket on its own shows the help. “Team” includes whoever manages the server. With the prefix, the verbs also work in Spanish and Portuguese: for example !ticket cerrar or !ticket fechar for close, and !ticket reclamar or !ticket assumir for claim. Examples
If the panel has a form, !ticket new can’t show it: use the panel’s button or /ticket new.

The user card

The User card button on the welcome message shows, to the team only and only to whoever presses it, the background of the person who opened the ticket in your server:
  • When they created their account, since when they’re a member and who invited them.
  • Their previous tickets in the server, with links to their transcripts.
  • Their moderation cases, their active warnings and whether they have a global ban.
The opening log also includes a one-line summary. You can turn it off in Overview → User card.

Transcripts

A transcript is a copy of the ticket’s conversation: messages, replies, embeds, stickers and attachments (images are re-hosted so they don’t get lost). It’s saved when closing and when deleting, depending on the panel, and when someone on the team presses Transcript or uses /ticket transcript.

The web viewer

Each transcript has its own page at lucie.elxy.dev/t/…. You need to sign in with Discord to view it, and only these people can:
  • Whoever opened the ticket and the added users.
  • The panel’s team roles and the roles added to the ticket.
  • Whoever manages the server and the Lucie team.
Private channels mentioned in the ticket show up as #private-channel, so the author doesn’t see the names of internal channels.

The .html copy

Lucie also creates a portable copy: a single .html file that opens in any browser, no account needed. By default it’s attached to the server’s log and to the author’s closing DM, if it fits Discord’s upload limit. Small images go inside; the other attachments link to the web version while it exists.
The .html copy lives on Discord: anyone who can see the log channel (or the DM) can see it, and it doesn’t expire with Lucie’s retention. It’s the long-lasting copy; if you don’t want it, turn off Attach .html to the log and Send the .html to the author in the Closing tab.

How long they’re kept

In Overview → Keep transcripts you choose 30, 60, 90, 180 or 365 days (60 by default). When the time is up, Lucie deletes the transcript and its files, along with that ticket’s form answers, reasons and AI summary. The change also applies to what’s already stored: if you lower it, the oldest ones are deleted for good (the web panel asks you to confirm). You can delete a transcript early from Recent tickets.

Limits

  • Up to 5,000 messages per transcript: the most recent ones, with a notice if it falls short.
  • Attachments of up to 8 MB each and 100 MB per transcript.
  • 200 transcripts a day and 2 GB stored per server; past that space, they’re saved without attachments.
  • Pressing Transcript with no new messages returns the same one; with new messages, at most one every 5 minutes per ticket.

AI summary

Optional and off by default. If you turn it on in Overview → AI summary, when a ticket is closed Lucie summarizes the conversation in four sections —Problem, What was done, Outcome and Pending— and adds it to the closing log and to the transcript’s header, in the server’s language. To do that she sends DeepSeek a condensed version of the conversation, without IDs. There’s a maximum of 50 summaries a day per server.

Permissions Lucie needs

The official invite link already requests everything she needs. This is for you if you removed permissions from her or if your categories have overrides.
Lucie can only grant or deny in a ticket the permissions she has herself: if she’s missing one, the Channel permissions table flags it. Also put her role above the team roles.

Anti-abuse limits

On top of each panel’s limits and the server’s, there are some fixed ones so nobody can flood the server with channels: Whoever manages the server and the Roles without limits skip all the limits and waits except the 10 seconds between tickets. Roles without tickets blocks everyone except whoever manages the server.

If something goes wrong

When something fails, Lucie replies with a message that carries a code (like TK-PERMS) and a link to its explanation. In Ticket errors you’ll find the cause and the fix for each one. To check everything at once, use /ticket debug: it tells you whether tickets are on, which permissions Lucie is missing, how the categories are doing and what problems each panel has.