Saltar al contenido principal

🎫 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

ComandoDescripción
/ticket setupInicializar el sistema (Categoría, Registros, Roles de Staff).
/ticket install_defaultDespliega un "Centro de Ayuda" preconstruido con 3 categorías.
/ticket debug cleanupVerificación de consistencia de base de datos.

Paneles y Plantillas

ComandoDescripción
/ticket panel createCrear un nuevo punto de entrada (Embed con botón).
/ticket panel updateActualizar un panel existente.
/ticket panel deleteEliminar un panel.
/ticket panel sendPublicar un panel en un canal.
/ticket selector addAñadir un menú desplegable a un panel.
/ticket option addAñadir opciones a los selectores.
/ticket template newCrear un preajuste de ticket (Mensaje de bienvenida, Categoría).
/ticket template link_selectorActivar una plantilla desde una elección específica.

Acciones de Staff (Dentro del Ticket)

ComandoDescripción
/ticket claimAsignarse el ticket a uno mismo.
/ticket closeCerrar ticket y generar transcripción.
/ticket reopenReabrir un ticket cerrado.
/ticket add @usuarioAñadir un usuario al ticket.
/ticket remove @usuarioEliminar un usuario.
/ticket renameCambiar el nombre del canal.
/ticket moveMover canal a otra categoría.

Esquema de Base de Datos

TablaDescripción
ticketsAlmacena tickets activos/archivados (status, opener_id, transcript_id).
ticket_panelsConfiguración para paneles de interfaz.
ticket_selectorsConfiguraciones de desplegables.
ticket_selector_optionsOpciones dentro de los desplegables.
ticket_templatesPreajustes para nuevos tickets.