> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lucie.elxy.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Tickets

> Canales privados de soporte entre tus miembros y tu equipo: paneles con botones, formulario, transcripciones y más. Todo gratis.

<Warning>
  Los tickets están en **beta**: de momento solo funcionan en el servidor de soporte de Lucie. Muy pronto llegarán a todos los servidores.
</Warning>

Con los tickets, un miembro pulsa un botón y Lucie le abre un **canal privado** en el que solo están él y tu equipo. Ahí se habla con calma, se resuelve y se cierra, y la conversación queda guardada como transcripción.

Todo se configura desde el [panel web](https://lucie.elxy.dev); los comandos son para el día a día dentro de cada ticket. Y es **gratis entero**: no hay plan de pago ni funciones reservadas.

<Note>
  En esta página, «panel» a secas es un **panel de tickets**: el mensaje con el botón que abre tickets. La web donde se configura todo es el **panel web**.
</Note>

## Ponerlo en marcha

<Steps>
  <Step title="Abre la sección">
    Entra en [lucie.elxy.dev](https://lucie.elxy.dev), elige el servidor y, en el grupo **Soporte**, pulsa **Tickets**. Necesitas el permiso **Gestionar servidor**.
  </Step>

  <Step title="Crea tu primer panel">
    Pulsa **Crear el primer panel**. Cada panel tiene su propia configuración: equipo, categoría, textos, botones y formulario.
  </Step>

  <Step title="Elige el equipo y la categoría">
    En la pestaña **Equipo**, elige los **Roles del equipo** que atenderán los tickets. En **Apertura**, elige la categoría de **Tickets abiertos** donde Lucie creará los canales.
  </Step>

  <Step title="Guarda y publica">
    Guarda con la barra de abajo, elige el canal en la barra del panel y pulsa **Publicar**: Lucie envía allí el mensaje con el botón.
  </Step>

  <Step title="Actívalos">
    Enciende **Tickets activos** en la cabecera y guarda. Es el último paso a propósito: puedes dejarlo todo listo antes de que nadie pueda abrir tickets.
  </Step>
</Steps>

<Tip>
  La pestaña **Resumen** tiene una lista de **Primeros pasos** que marca lo que ya has hecho y te lleva a lo que falta. Cuando esté todo, `/ticket debug` en Discord confirma que Lucie tiene lo que necesita.
</Tip>

## La vida de un ticket

1. **Abierto.** Lucie crea el canal (por defecto `ticket-0001`; cada panel numera los suyos) con un mensaje de bienvenida y los botones **Cerrar**, **Reclamar** y **Ficha**. Solo lo ven quien lo abrió, tu equipo y las personas que se añadan.
2. **Cerrado.** Por defecto, quien lo abrió puede leerlo pero ya no escribir. El canal pasa a la categoría de cerrados (si la hay) y aparecen los **Controles del equipo**: **Reabrir**, **Transcripción** y **Borrar**.
3. **Borrado.** Lucie avisa en el canal, guarda la transcripción si hace falta y borra el canal unos segundos después.

Un ticket cerrado se puede reabrir tantas veces como haga falta. Si prefieres que cerrar sea definitivo, apaga **Conservar el ticket cerrado** y cerrar lo borrará directamente.

## El panel web, pestaña a pestaña

La sección tiene seis pestañas. **Resumen** es de todo el servidor; las otras cinco son de un panel, el que eliges en la barra **Panel:** de arriba. Los cambios de todos los paneles se guardan juntos con la barra de abajo.

### Resumen

* **Contadores**: tickets abiertos ahora, creados y cerrados en los últimos 7 días, y atendidos.
* **Acceso y límites** (vale para todos los paneles): **Roles sin tickets** (no pueden abrir), **Roles sin límites** (se saltan los límites y esperas) y **Límite del servidor** (100 por defecto; 0 = sin límite).
* **Registro y privacidad**: **Canal de registro**, **Conservar transcripciones**, **Panel de /ticket new**, **Ficha del usuario** y **Resumen con IA**.
* **Paneles**: crea, edita, clona o borra paneles (hasta 25 por servidor) y mira cuáles están publicados.
* **Tickets recientes**: los últimos del servidor, filtrables por estado o por ID de usuario, con su transcripción.
* **Historial de cambios**: quién cambió qué en los tickets desde el panel web, en los últimos 90 días.

### Apertura

| Bloque | Qué ajustas |
| - | - |
| **Panel** | Nombre, estilo (**Botones**, de 1 a 5 por fila, o **Desplegable**) y **Opciones del mensaje**: añade otros paneles para ofrecerlos juntos en el mismo mensaje. |
| **Categorías** | Hasta 5 para **Tickets abiertos** y 5 para **Tickets cerrados**, en orden: cuando una llega a 50 canales, Lucie usa la siguiente. |
| **Nombre y numeración** | Nombre del canal **Al abrir** (vacío = `ticket-0001`), **Al cerrar** y **Al reclamar** (vacío = no se renombra). Admite variables. |
| **Límites** | **Abiertos por persona** (1 por defecto), **Cerrados por persona** (3) y **Abiertos en el panel** (sin límite). 0 = sin límite. |
| **Formulario** | Hasta 5 preguntas (texto corto, párrafo o desplegable) que se responden antes de abrir. Las respuestas salen en la bienvenida. |

<Note>
  Sin categoría de cerrados, los tickets cerrados se quedan en la de abiertos y la van llenando. Y Discord solo deja renombrar un canal 2 veces cada 10 minutos, así que un nombre nuevo puede tardar en verse.
</Note>

### Mensajes

Los 13 mensajes que envía Lucie —el panel publicado, la bienvenida, la confirmación de cierre, los avisos del canal, los MD al autor…— se pueden reescribir: un contenido y un embed con título, descripción, color y pie. Cada uno usa el texto por defecto, en el idioma del servidor, hasta que lo cambias; **Restablecer** lo devuelve a él. Algunos avisos se pueden apagar con **No enviar este mensaje**.

El editor tiene **vista previa** y un ayudante de **Variables**: pulsa una y se inserta donde está el cursor. Las menciones solo avisan si van en el contenido, no en el embed. Las variables más útiles:

| Variable | Se convierte en |
| - | - |
| `{ticket.user}` | Mención a quien abrió el ticket (`{ticket.user.name}` es su nombre) |
| `{user}` | Quien hace la acción: cierra, reabre, reclama… |
| `{ticket.number}` | Número del ticket; `{ticket.number?pl=4}` lo rellena con ceros (`0042`) |
| `{server.name}` · `{panel.name}` | Nombre del servidor y del panel |
| `{create.reason}` · `{close.reason}` | Motivo al abrir y al cerrar |
| `{create.form.0}` … `{create.form.4}` | Respuestas del formulario, de la primera a la quinta |
| `{claim.user}` | Quien atiende el ticket |
| `{transcript.url}` | Enlace a la transcripción |

### Botones

Texto (hasta 80 caracteres), emoji, color (azul, gris, verde o rojo) y si se ve, para los 8 botones editables: **Abrir ticket**, **Cerrar**, **Cancelar cierre**, **Confirmar cierre**, **Reabrir**, **Borrar**, **Transcripción** y **Reclamar**. Un botón puede ir sin texto o sin emoji, pero no sin los dos.

<Warning>
  Un emoji de otro servidor solo funciona si Lucie está en ese servidor. Si no puede usarlo, la pestaña lo marca y en Discord sale el emoji por defecto.
</Warning>

### Equipo

* **Roles del equipo** (hasta 10): ven todos los tickets del panel y pueden cerrarlos, reclamarlos, borrarlos y usar el resto de acciones.
* **Roles adicionales** (hasta 10): ven los tickets con los permisos de su fila, pero sin las acciones del equipo.
* **Reclamar**: **Permitir reclamar**, **Solo quien lo reclamó lo suelta**, **Quitar el reclamo a otro** y **Resto del equipo en solo lectura** (mientras está reclamado, el resto del equipo no escribe).
* **Permisos en el canal**: qué puede hacer cada grupo (autor y añadidos, equipo, adicionales) con el ticket **Abierto** y **Cerrado**. `@everyone` nunca ve los tickets.

<Note>
  Quien gestiona el servidor (dueño, **Administrador** o **Gestionar servidor**) cuenta siempre como equipo en todos los paneles. Si un panel no tiene roles de equipo, solo esas personas verán sus tickets.
</Note>

### Cierre

| Bloque | Qué ajustas |
| - | - |
| **Cierre** | **Pedir confirmación**, **Conservar el ticket cerrado**, **Pedir motivo**, **El autor puede cerrarlo** y **Espera antes de borrar** (de 3 a 30 segundos; 5 por defecto). |
| **Transcripciones** | Guardarla **Al cerrar** y **Al borrar**, **Adjuntar .html al registro** y **Enviar el .html al autor**. |
| **Registro** | Un canal propio para este panel (vacío = el del servidor) y qué apuntar: abierto, cerrado, reabierto, borrado, reclamado, soltado y transcripción guardada. |
| **Mensajes directos** | Avisar al autor **Al abrir** (apagado por defecto) y **Al cerrar**, con el motivo y la transcripción. |

## Publicar el panel en un canal

En cualquier pestaña de un panel, la barra de arriba tiene el canal y el botón **Publicar**. Lucie publica lo **guardado**, así que guarda antes.

* Una vez publicado, el botón pasa a **Actualizar**. Si cambias algo y guardas, la insignia **Cambios sin publicar** te recuerda pulsarlo.
* Si publicas en **otro canal**, Lucie borra el mensaje anterior: nunca quedan dos paneles iguales funcionando.
* **Actualizar desde enlace** reutiliza un panel de tickets de Lucie que ya exista: pega su enlace (clic derecho en el mensaje › Copiar enlace) y Lucie lo edita con este panel.

Lucie necesita **Ver canal**, **Enviar mensajes** e **Insertar enlaces** en ese canal.

## Dentro de un ticket

### Abrir

El miembro pulsa el botón del panel (o elige su opción en el desplegable). Si el panel tiene formulario, primero lo rellena; si no, el canal se abre al momento y Lucie le responde con el enlace. También puede usar `/ticket new`, que abre con el **Panel de /ticket new**.

### Cerrar

**Cerrar** en la bienvenida. Según el panel, Lucie pide el motivo, pide confirmación (**Cerrar ticket** / **Cancelar**) o cierra directamente. Por defecto también puede cerrarlo quien lo abrió. `/ticket close` cierra sin paso de confirmación.

### Reabrir y borrar

Con el ticket cerrado, el equipo tiene **Reabrir** (devuelve los permisos de abierto y la categoría de abiertos) y **Borrar** (pide confirmación, avisa en el canal y lo borra tras la espera configurada). Solo el equipo puede reabrir y borrar.

### Reclamar

**Reclamar** asigna el ticket a quien lo pulsa, y el botón pasa a **Soltar**. Lucie le dice al autor quién le atiende, sin mencionar a quien reclama. Si alguien del equipo ya lo tiene, los demás no pueden quitárselo salvo que actives **Quitar el reclamo a otro**; quien gestiona el servidor siempre puede.

### Añadir y quitar

`/ticket add` da acceso a un usuario o a un rol, y `/ticket remove` se lo quita. Los añadidos tienen los mismos permisos que el autor. Como mucho, **20** usuarios y roles añadidos por ticket.

No se puede añadir ni quitar a `@everyone`, a Lucie ni al autor, ni quitar a quien atiende el ticket. Los roles del equipo y los adicionales se cambian en el panel web, no desde aquí.

### Solicitud de cierre

Cuando creas que la consulta está resuelta, `/ticket closerequest` pregunta al autor si se puede cerrar. Le llega con **Sí, cerrar** y **No, sigue abierto**, y solo él puede contestar: si acepta, el ticket se cierra; si no, sigue abierto y el mensaje lo dice.

### Renombrar

`/ticket rename` cambia el nombre del canal. Discord solo permite 2 cambios de nombre cada 10 minutos por canal, así que Lucie lo aplica en cuanto puede.

## Comandos

Todos funcionan con `/ticket` y con `!ticket` (alias `tickets` y `tk`). Salvo `new` y `debug`, se usan **dentro del canal del ticket**. `!ticket` sin nada más muestra la ayuda. «Equipo» incluye a quien gestiona el servidor.

| Subcomando | Qué hace | Quién |
| - | - | - |
| `new [motivo]` | Abre un ticket con el **Panel de /ticket new** | Cualquiera |
| `close [motivo]` | Cierra el ticket | Equipo y, si el panel lo permite, el autor |
| `reopen` | Reabre un ticket cerrado | Equipo |
| `delete [motivo]` | Borra el ticket | Equipo |
| `claim` · `unclaim` | Reclama o suelta el ticket | Equipo |
| `add` · `remove` | Da o quita acceso a un usuario o un rol (mención o ID) | Equipo |
| `rename <nombre>` | Cambia el nombre del canal | Equipo |
| `transcript` | Guarda la transcripción y te da el enlace | Equipo |
| `closerequest [motivo]` | Pide al autor que confirme el cierre | Equipo |
| `debug` | Diagnostica la configuración y los permisos de Lucie | Equipo |

Con el prefijo, los verbos también valen en español: `!ticket nuevo`, `cerrar`, `reabrir`, `borrar`, `reclamar`, `soltar`, `añadir`, `quitar`, `renombrar`, `transcripcion`, `pedircierre` y `diagnostico`.

**Ejemplos**

```text theme={"dark"}
!ticket new No puedo entrar al servidor
!ticket close resuelto
!ticket add @usuario
!ticket rename pago-pendiente
/ticket add usuario: @usuario
```

<Note>
  Si el panel tiene formulario, `!ticket new` no puede mostrarlo: usa el botón del panel o `/ticket new`.
</Note>

## La ficha del usuario

El botón **Ficha** de la bienvenida enseña, **solo al equipo** y solo a quien lo pulsa, el contexto de quien abrió el ticket en tu servidor:

* Cuándo creó la cuenta, desde cuándo es miembro y quién le invitó.
* Sus tickets anteriores en el servidor, con enlace a sus transcripciones.
* Sus casos de moderación, sus avisos activos y si tiene un baneo global.

El registro de apertura incluye además un resumen de una línea. Se apaga en **Resumen** → **Ficha del usuario**.

## Transcripciones

Una transcripción es una copia de la conversación del ticket: mensajes, respuestas, embeds, stickers y adjuntos (las imágenes se vuelven a alojar para que no se pierdan). Se guarda al cerrar y al borrar, según el panel, y cuando alguien del equipo pulsa **Transcripción** o usa `/ticket transcript`.

### El visor web

Cada transcripción tiene su página en `lucie.elxy.dev/t/…`. Para verla hay que **entrar con Discord**, y solo la ven:

* Quien abrió el ticket y los usuarios añadidos.
* Los roles del equipo del panel y los roles añadidos al ticket.
* Quien gestiona el servidor y el equipo de Lucie.

Los canales privados que se mencionan en el ticket salen como `#canal-privado`, para que el autor no vea nombres de canales internos.

### La copia .html

Además, Lucie genera una **copia portátil**: un solo archivo `.html` que se abre en cualquier navegador, sin cuenta. Por defecto se adjunta al **registro** del servidor y al **MD de cierre** del autor, si cabe en el límite de subida de Discord. Las imágenes pequeñas van dentro; el resto de adjuntos enlazan a la versión web mientras exista.

<Warning>
  La copia `.html` vive en Discord: la ve quien vea el canal de registro (o el MD) y **no caduca** con la retención de Lucie. Es la copia duradera; si no la quieres, apaga **Adjuntar .html al registro** y **Enviar el .html al autor** en la pestaña **Cierre**.
</Warning>

### Cuánto tiempo se guardan

En **Resumen** → **Conservar transcripciones** eliges **30, 60, 90, 180 o 365 días** (60 por defecto). Al cumplirse, Lucie borra la transcripción y sus archivos, y también las respuestas del formulario, los motivos y el resumen IA de ese ticket.

El cambio se aplica también a lo ya guardado: si la bajas, lo más antiguo se borra para siempre (el panel web te pide confirmación). Puedes borrar una transcripción antes de tiempo desde **Tickets recientes**.

### Límites

* Hasta **5.000 mensajes** por transcripción: los más recientes, y avisa si se queda corta.
* Adjuntos de hasta **8 MB** cada uno y **100 MB** por transcripción.
* **200 transcripciones al día** y **2 GB** guardados por servidor; pasado ese espacio, se guardan sin adjuntos.
* Pulsar **Transcripción** sin mensajes nuevos devuelve la misma; con mensajes nuevos, como mucho una cada 5 minutos por ticket.

## Resumen con IA

Opcional y **apagado por defecto**. Si lo activas en **Resumen** → **Resumen con IA**, al cerrar un ticket Lucie resume la conversación en cuatro apartados —**Problema**, **Qué se hizo**, **Resultado** y **Pendiente**— y lo añade al registro de cierre y a la cabecera de la transcripción, en el idioma del servidor.

Para hacerlo envía a DeepSeek una versión condensada de la conversación, **sin IDs**. Hay un máximo de 50 resúmenes al día por servidor.

## Permisos que necesita Lucie

<Note>
  El enlace oficial de invitación ya solicita todo lo necesario. Esto te sirve si le quitaste permisos o si tus categorías tienen anulaciones.
</Note>

| Dónde | Permisos | Para qué |
| - | - | - |
| Servidor | **Ver canal**, **Gestionar canales**, **Gestionar roles**, **Enviar mensajes**, **Insertar enlaces**, **Adjuntar archivos** y **Leer el historial de mensajes** | Crear los canales y ajustar sus permisos |
| Categorías de tickets | **Ver canal**, **Gestionar canales** y **Gestionar roles** | Crear y mover canales dentro |
| Canal del panel | **Ver canal**, **Enviar mensajes** e **Insertar enlaces** | Publicar el panel |

Lucie solo puede dar o quitar en un ticket los permisos que ella misma tiene: si le falta alguno, la tabla **Permisos en el canal** lo marca. Pon también su rol por encima de los roles del equipo.

## Límites anti-abuso

Además de los límites de cada panel y del servidor, hay unos fijos para que nadie llene el servidor de canales:

| Límite | Valor |
| - | - |
| Entre dos tickets de la misma persona | 10 segundos |
| Tickets de una persona en una hora (todo el servidor) | 5 |
| Tickets nuevos en el servidor | 10 cada 10 segundos |

Quien gestiona el servidor y los **Roles sin límites** se saltan todos los límites y esperas salvo los 10 segundos entre tickets. **Roles sin tickets** bloquea a todos menos a quien gestiona el servidor.

## Si algo falla

Cuando algo no sale, Lucie responde con un mensaje que lleva un **código** (como `TK-PERMS`) y un enlace a su explicación. En [Errores de tickets](/tickets/errores) tienes la causa y la solución de cada uno.

Para revisarlo todo de golpe, usa `/ticket debug`: te dice si los tickets están activos, qué permisos le faltan a Lucie, cómo van las categorías y qué problemas tiene cada panel.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.