# Warns

## ¿Qué es el Sistema de Warns?

El sistema de Warns es una **herramienta de moderación progresiva** que registra advertencias a miembros. Después de cierta cantidad, el bot toma acciones automáticas (timeout, kick, ban).

### Casos de Uso

* ✅ Advertir comportamiento inapropiado
* ✅ Escalada automática (warn → timeout → kick → ban)
* ✅ Registrar incidentes
* ✅ Dar oportunidades antes de actuar
* ✅ Mantener disciplina

***

## 🚀 Configuración Básica (Para Usuarios Nuevos)

{% stepper %}
{% step %}

#### Configurar Sistema de Warns

```bash
/setmoderation setup
```

El bot te pedirá:

* 📊 **Advertencias máximas:** Cuántas antes de banear (ej: 5)
* ⏰ **Expirar después de:** Días para limpiar warns (ej: 30 días)
* 💬 **Canal de logs:** Dónde registrar
  {% endstep %}

{% step %}

#### Advertir a un Miembro

```bash
/warn @Usuario razón:"Spam"
```

**Resultado:**

* El usuario recibe el warn
* Se registra en logs
* Contador aumenta
  {% endstep %}

{% step %}

#### Ver Advertencias

```bash
/warnings @Usuario
```

Muestra:

* ✅ Cantidad de warns
* 📅 Fecha de cada uno
* 📝 Razones
* 🔄 Si aún están vigentes
  {% endstep %}
  {% endstepper %}

***

## ⚙️ Configuración Avanzada

### Umbrales Automáticos (Thresholds)

Acciones automáticas según cantidad de warns:

```bash
1 warn:  Notificación
2 warns: Timeout 5 minutos
3 warns: Timeout 15 minutos
4 warns: Timeout 1 hora
5 warns: KICK automático
```

Puedes personalizar cada uno:

```bash
/setmoderation threshold
3 warns → Aislar 30 minutos
5 warns → Expulsar con razón
```

### Configuración de Warn

Cada warn puede tener:

* ✏️ **Razón:** Motivo de la advertencia
* 📅 **Fecha:** Cuándo se dio
* 👤 **Autor:** Quién lo dio
* ⏰ **Expiración:** Cuándo se borra

### Expiración de Warns

Los warns expiran después de:

* 🟢 **30 días** (por defecto)
* ⚙️ **Personalizable** en setup

Después de expirar, se borran del contador pero quedan registrados.

***

## 📝 Comandos de Moderación

### Dar Warn

```bash
/warn @Usuario razón:"Spam"
```

### Ver Warnings

```bash
/warnings @Usuario
```

### Limpiar un Warn

```bash
/clearwarn @Usuario warn-number:1
```

### Limpiar Todos los Warns

```bash
/clearwarn @Usuario all
```

***

## 📊 Thresholds (Escalada Automática)

### Ejemplo: Configuración Estricta

```bash
1 warn:  Notificación
2 warns: Timeout 1 hora
4 warns: Kick automático
```

### Ejemplo: Configuración Flexible

```bash
2 warns: Timeout 5 minutos
4 warns: Timeout 1 día
6 warns: Kick automático
8 warns: Ban automático
```

***

## 🔍 Solución de Problemas

| Problema                    | Solución                           |
| --------------------------- | ---------------------------------- |
| **Warn no se guarda**       | Verifica permisos del bot          |
| **Usuario no recibe notif** | DMs pueden estar bloqueadas        |
| **Acción no ejecuta**       | Revisa configuración de thresholds |
| **Warns no expiran**        | Aumenta días de expiración         |

***

## 📝 Ejemplo Práctico

**Protocolo Anti-Spam:**

```bash
/warn @Spammer razón:"Spam masivo"

1 warn → Notificación al usuario
2 warns → Timeout 30 minutos
3 warns → Timeout 1 hora  
4 warns → Kick automático
```

***

## 💡 Mejores Prácticas

### ✅ Haz

* Da razones claras en cada warn
* Advierte antes de actuar
* Registra en logs
* Sé consistente
* Revisa warns regularmente

### ❌ No hagas

* Warns sin razón
* Discriminar usuarios
* Cambiar umbrales constantemente
* Olvidarse de warns antiguos
* Warnings inapropiados

***

## 👥 Permisos Necesarios

El usuario que advierte necesita:

* ✅ **Moderar Miembros** (en general)

El bot necesita:

* ✅ Gestionar Roles/Timeout
* ✅ Enviar Mensajes

***

## 📞 ¿Problemas?

1. Verifica que el usuario tiene permisos
2. Comprueba configuración de thresholds
3. Revisa logs
4. Pide ayuda en [soporte](https://discord.gg/2ZKdT6SRsZ)

***

## 🔗 Relacionado

* [Mute/Timeout](broken://pages/140eb64d7ef4b365c4e5da3acea5b331a108a280)
* [Kick/Ban](broken://pages/d62fb7264ef8741f6b43364834679a338c1ab784)
* [Logs](broken://pages/6f48cee937626dbdc7ba87e01334f3fbc5e1c329)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://okaa.gitbook.io/okaa-wiki/moderacion/warns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
