🎫 Sistema de Tickets
Descripción
Archivo: TicketSystem.py
Sistema integral de gestión de tickets que soporta flujos de trabajo de soporte técnico y general. Incluye paneles dinámicos, múltiples niveles de selección, transcripciones HTML y gestión eficiente de la base de datos.
Características
- Paneles Dinámicos: Crea múltiples paneles interactivos con selectores desplegables.
- Sistema de Borrador: Las selecciones de los usuarios se guardan como "borradores" hasta que confirman la creación del ticket.
- Transcripciones HTML: Genera transcripciones HTML descargables de tickets cerrados, incluyendo archivos adjuntos.
- Auto-Etiquetado: Actualiza nombres de canales y entradas de base de datos con el "Asunto" basado en las opciones seleccionadas.
- Sistema de Prioridad: Asigna prioridades (Baja, Normal, Alta) basadas en plantillas.
- Gestión de Roles: Añade/Quita dinámicamente roles de staff según el tipo de ticket (ej: "Recursos Humanos" ve tickets de RRHH, pero no de Soporte Técnico).
Comandos
Configuración
| Comando | Descripción |
|---|---|
/ticket setup | Inicializar el sistema (Categoría, Registros, Roles de Staff). |
/ticket install_default | Despliega un "Centro de Ayuda" preconstruido con 3 categorías. |
/ticket debug cleanup | Verificación de consistencia de base de datos. |
Paneles y Plantillas
| Comando | Descripción |
|---|---|
/ticket panel create | Crear un nuevo punto de entrada (Embed con botón). |
/ticket panel update | Actualizar un panel existente. |
/ticket panel delete | Eliminar un panel. |
/ticket panel send | Publicar un panel en un canal. |
/ticket selector add | Añadir un menú desplegable a un panel. |
/ticket option add | Añadir opciones a los selectores. |
/ticket template new | Crear un preajuste de ticket (Mensaje de bienvenida, Categoría). |
/ticket template link_selector | Activar una plantilla desde una elección específica. |
Acciones de Staff (Dentro del Ticket)
| Comando | Descripción |
|---|---|
/ticket claim | Asignarse el ticket a uno mismo. |
/ticket close | Cerrar ticket y generar transcripción. |
/ticket reopen | Reabrir un ticket cerrado. |
/ticket add @usuario | Añadir un usuario al ticket. |
/ticket remove @usuario | Eliminar un usuario. |
/ticket rename | Cambiar el nombre del canal. |
/ticket move | Mover canal a otra categoría. |
Esquema de Base de Datos
| Tabla | Descripción |
|---|---|
tickets | Almacena tickets activos/archivados (status, opener_id, transcript_id). |
ticket_panels | Configuración para paneles de interfaz. |
ticket_selectors | Configuraciones de desplegables. |
ticket_selector_options | Opciones dentro de los desplegables. |
ticket_templates | Preajustes para nuevos tickets. |