Revocar Sanciones - Raul125/PanelWiki GitHub Wiki

🔄 Revocar Sanciones

El sistema de revocación de sanciones permite a los moderadores levantar, cancelar o eliminar bans, warns y mutes aplicados previamente. Todas las revocaciones requieren justificación y quedan registradas permanentemente en los logs de auditoría.


🌐 Acceso a Revocar Sanciones

📍 Formas de Acceder

  • Desde listas de sanciones → Botones específicos en cada fila
  • Desde perfil de jugador → Historial de sanciones activas
  • Desde reportes de apelación → Enlaces directos
  • Desde panel de moderación → Acceso rápido por sanción

🔐 Requisitos

  • Rol de Staff en Discord
  • Permisos de revocación asignados
  • Autorización específica → Algunos casos requieren permisos especiales
  • Sanción válida → Solo sanciones activas o revocables

🚫 Restricciones

  • Jerarquía de staff → Limitaciones según rango
  • Tiempo límite → Algunas sanciones tienen períodos de gracia
  • Justificación obligatoria → Siempre requerida
  • Una sola vez → Las revocaciones no se pueden deshacer

🎯 Tipos de Revocación

🔨 Revocar Bans

🔓 Desbanear (Unban)

Función: BanManager.Unban()

  • Propósito → Levantar ban manteniéndolo en historial
  • Estado resultante → Ban marcado como "Cancelado"
  • Historial → Mantiene registro de la sanción original
  • Acceso inmediato → Usuario puede volver a jugar

🗑️ Eliminar Ban

Función: BanManager.Unban(delete: true)

  • Propósito → Eliminación física del registro
  • Estado resultante → Ban completamente borrado
  • Historial → Solo logs de auditoría permanecen
  • Casos especiales → Errores graves o sanciones erróneas

📋 Diálogo de Confirmación

UnBanDialog incluye:

  • Información del ban → Usuario, motivo, duración, staff
  • Opciones disponibles → Desbanear o eliminar
  • Campo de justificación → Motivo obligatorio
  • Advertencias → Sobre consecuencias de la acción

⚠️ Revocar Warns

📋 Retirar Advertencia

Función: WarnManager.UnWarn()

  • Propósito → Eliminar advertencia del historial
  • Estado resultante → Warn marcado como retirado
  • Botón específico → "Retirar Advertencia" (color verde)
  • Impacto → Reduce cuenta de advertencias del usuario

📋 Diálogo de Confirmación

DeleteWarnDialog incluye:

  • Datos del warn → Usuario, motivo, fecha, staff original
  • Campo de razón → Justificación obligatoria
  • Confirmación segura → Evita eliminaciones accidentales
  • Advertencia → Acción no reversible

🔇 Revocar Mutes

🔊 Levantar Silenciamiento

Función: MuteManager.UnMute()

  • Propósito → Restaurar capacidades de comunicación
  • Estado resultante → Mute marcado como levantado
  • Botón específico → "Retirar Muteo" con ícono VolumeUp
  • Efecto inmediato → Usuario puede comunicarse nuevamente

📋 Diálogo de Confirmación

DeleteMuteDialog incluye:

  • Información del mute → Tipo, duración, motivo, staff
  • Tiempo restante → Si estaba activo
  • Justificación → Campo obligatorio
  • Confirmación → Verificación de la acción

🔧 Proceso de Revocación

1️⃣ Identificación de la Sanción

📋 Desde Listas Principales

En gestores de sanciones:

  • Botón "Desbanear" → Verde con ícono RemoveCircle
  • Botón "Retirar Advertencia" → Verde con ícono RemoveCircle
  • Botón "Retirar Muteo" → Verde con ícono VolumeUp
  • Solo visible → En sanciones activas o válidas

👤 Desde Perfil de Usuario

En historial del jugador:

  • Sanciones activas → Destacadas visualmente
  • Acceso directo → Botones de revocación disponibles
  • Contexto completo → Ver historial antes de revocar

2️⃣ Diálogo de Confirmación

📊 Información Mostrada

Todos los diálogos incluyen:

  • Datos de la sanción → ID, tipo, fecha de aplicación
  • Usuario afectado → Nombre, avatar, ID
  • Staff original → Quién aplicó la sanción
  • Motivo original → Razón completa de la sanción
  • Estado actual → Activa, tiempo restante, etc.

📝 Campo de Justificación

Obligatorio en todos los casos:

  • Label claro → "Motivo de la revocación"
  • Campo de texto → Hasta 200 caracteres
  • Placeholder → "Explica por qué se revoca esta sanción"
  • Validación → No puede estar vacío

3️⃣ Confirmación y Aplicación

⚡ Proceso Automatizado

1. Validar permisos de staff
2. Verificar estado de sanción
3. Aplicar revocación en base de datos
4. Actualizar estado del usuario
5. Crear log de auditoría automático
6. Notificar resultado al moderador
7. Actualizar interfaces relacionadas
8. Sincronizar con Discord/juego si necesario

💬 Notificaciones

Mensajes de confirmación:

  • Ban revocado → "Usuario [nombre] desbaneado correctamente"
  • Warn retirado → "Advertencia eliminada correctamente"
  • Mute levantado → "Mute eliminado correctamente"
  • Errores → Mensajes específicos del problema

📊 Sistema de Logs de Auditoría

📝 Registro Automático

🔍 Información Registrada

Cada revocación genera automáticamente:

  • ID de la sanción → Identificador único original
  • Tipo de revocación → Desban, retire warn, unmute
  • Staff revocador → Quién realizó la revocación
  • Fecha y hora → Timestamp exacto de la acción
  • Justificación → Motivo completo de la revocación
  • Estado anterior → Información de la sanción original
  • Método utilizado → Desbanear vs eliminar (para bans)

📋 Servicios de Log Específicos

Cada tipo usa su servicio:

  • ISlActionLogService.LogBanDeletedAsync → Para bans revocados
  • ISlActionLogService.LogWarnDeletedAsync → Para warns retirados
  • ISlActionLogService.LogMuteDeletedAsync → Para mutes levantados

🔍 Trazabilidad Completa

📊 Historial de Revocaciones

  • Línea temporal → Aplicación → Revocación
  • Staff involucrado → Quién aplicó y quién revocó
  • Justificaciones → Motivo original vs motivo de revocación
  • Estados → Progresión completa de la sanción

📈 Estadísticas de Revocación

  • Tasa de revocación → % de sanciones revocadas
  • Staff más activo → Quién revoca más sanciones
  • Razones comunes → Motivos frecuentes de revocación
  • Tiempo promedio → Entre aplicación y revocación

🛠️ Herramientas de Gestión

📋 Estados de Sanciones

🔄 Estados Posibles

Para Bans:

  • 🔴 Banned → Sanción activa
  • ✅ Unbanned → Revocada/cancelada
  • 🗑️ Deleted → Eliminada físicamente

Para Warns:

  • ⚠️ Active → Advertencia vigente
  • 🗑️ Removed → Retirada por staff

Para Mutes:

  • 🔇 Active → Silenciamiento vigente
  • ⏱️ Expired → Expirado por tiempo
  • 🔊 Lifted → Levantado por staff

🎨 Indicadores Visuales

En las listas:

  • Chips de estado → Con colores específicos
  • Iconos descriptivos → Según tipo de estado
  • Tooltips informativos → Detalles adicionales
  • Filtros por estado → Visualizar solo activos/revocados

📊 Herramientas de Análisis

📈 Métricas de Revocación

  • Revocaciones por período → Diarias, semanales, mensuales
  • Tipos más revocados → Bans vs warns vs mutes
  • Staff más activo → Quién revoca con mayor frecuencia
  • Razones comunes → Análisis de justificaciones

🔍 Patrones y Tendencias

  • Sanciones problemáticas → Que requieren frecuente revocación
  • Calidad de moderación → Ratio aplicación/revocación
  • Tiempos de respuesta → Velocidad de corrección de errores

💡 Mejores Prácticas

🔄 Cuándo Revocar Sanciones

✅ Razones Válidas para Revocar:

  • Error de moderación → Sanción aplicada incorrectamente
  • Nueva evidencia → Información que exonera al jugador
  • Sanción desproporcionada → Castigo excesivo para la infracción
  • Apelación válida → Jugador demuestra inocencia
  • Cambio de circunstancias → Situación original resuelta
  • Error técnico → Problemas del sistema
  • Duplicación → Sanciones aplicadas múltiples veces

❌ Razones NO Válidas:

  • Presión de jugadores → Popularidad o amistades
  • Arrepentimiento personal → Cambio de opinión sin base
  • Favoritismo → Trato preferencial
  • Peticiones sin fundamento → Apelaciones sin evidencia
  • Conveniencia → Evitar conflictos

📝 Redacción de Justificaciones

✅ Ejemplos de Buenas Justificaciones:

  • "Revisión de evidencia adicional demuestra que el usuario no cometió freekill"
  • "Error en identificación del jugador - sanción aplicada al usuario incorrecto"
  • "Apelación válida con evidencia en video que contradice el reporte original"
  • "Sanción duplicada por error técnico - manteniendo solo la primera aplicación"
  • "Nueva información indica que la infracción fue malinterpretada"

❌ Ejemplos de Malas Justificaciones:

  • "El usuario me pidió que lo desbanee"
  • "Creo que ya estuvo suficiente tiempo baneado"
  • "Error"
  • "Cambio de opinión"
  • "Presión de la comunidad"

🔍 Verificación Antes de Revocar

📋 Checklist de Verificación:

  • ¿Hay evidencia sólida? → Base objetiva para la revocación
  • ¿Es mi responsabilidad? → Autorización para revocar
  • ¿He revisado el contexto completo? → Historial del usuario
  • ¿La justificación es clara? → Motivo bien documentado
  • ¿He consultado con otros staff? → En casos complejos

🚨 Advertencias y Consideraciones

⚠️ Consecuencias de la Revocación

🔄 Efectos Inmediatos

  • Acceso restaurado → Usuario puede volver al juego/chat
  • Historial modificado → Estado cambia en base de datos
  • Notificaciones → Usuario puede recibir notificación
  • Sincronización → Cambios aplicados en Discord/juego

📊 Impacto en Estadísticas

  • Conteos afectados → Estadísticas de sanciones activas
  • Métricas de staff → Ratio de revocaciones
  • Análisis de tendencias → Patrones de moderación
  • Reportes administrativos → Informes de actividad

⚖️ Consideraciones Éticas

🎯 Transparencia

  • Logs públicos → Visibles para otros staff
  • Justificación requerida → Motivo documentado
  • Trazabilidad → Historial completo inmutable
  • Responsabilidad → Acción atribuida al staff

⚖️ Equidad

  • Consistencia → Mismo criterio para todos
  • Imparcialidad → Sin favoritismos
  • Proporcionalidad → Revocación apropiada
  • Justicia → Corrección de errores legítimos

🔒 Limitaciones del Sistema

⏰ Restricciones Temporales

  • Período de gracia → Tiempo límite para revocaciones
  • Sanciones muy antiguas → Pueden no ser revocables
  • Sanciones automatizadas → Restricciones especiales
  • Estados finales → Algunas revocaciones son permanentes

👮 Restricciones de Permisos

  • Jerarquía de staff → No todos pueden revocar todo
  • Sanciones propias → Limitaciones para revocar tus sanciones
  • Casos especiales → Sanciones que requieren permisos específicos
  • Aprobación superior → Algunos casos necesitan autorización

🔗 Enlaces Relacionados


🔄 Revoca con Justicia, Documenta con Precisión

¿Dudas sobre revocación de sanciones? Pregunta en el canal staff de Discord o consulta Panel de Moderación

⚠️ **GitHub.com Fallback** ⚠️