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

# Moderación de canales

> Bloquea o restaura canales, configura slowmode, aplica lockdown al servidor y consulta las limitaciones del comando de recreación.

Headless incluye cuatro flujos distintos: lock/unlock para un canal de texto, slowmode para limitar la frecuencia de mensajes, lockdown para bloquear varios destinos del servidor y nuke para recrear el canal de texto actual. Los cambios de moderación generan casos y registros cuando la acción lo admite. Confirma permisos, alcance y recuperación antes de modificar overwrites.

## Bloquear y restaurar un canal

`.lock [#canal] [razón]` (aliases `.lk`, `.l`) y `/lock` bloquean el canal de texto actual o el indicado. `.unlock [#canal] [razón]` (aliases `.ulk`, `.u`) y `/unlock` restauran el acceso. Si el comando prefix se ejecuta dentro de un hilo, el callback usa el canal de texto padre.

El actor y Headless necesitan `Manage Roles`; Fake Permissions puede satisfacer la comprobación compatible del actor, pero el bot requiere su permiso nativo y debe poder editar los overwrites del canal. La primera ejecución de `.lock` guarda por servidor el overwrite original de `@everyone`. Bloquea envío de mensajes, reacciones y creación de hilos públicos o privados. Los locks repetidos no sustituyen la copia guardada. Cada lock y unlock genera su propio caso y evento de log.

Si existe una copia, `.unlock` restaura exactamente el overwrite guardado de `@everyone`. Sin copia, retira los valores explícitos del bloqueo para que Discord vuelva a calcular el acceso heredado. No restaura overwrites específicos de otros roles; además, un bloqueo heredado desde una categoría puede seguir impidiendo el acceso aunque se ejecute unlock.

### `.lock`

```headless-command Syntax theme={null}
.lock [channel] [reason=Sin razón]
```

```headless-command Example theme={null}
.lock #general raid detectado
```

### `.unlock`

```headless-command Syntax theme={null}
.unlock [channel] [reason=Sin razón]
```

```headless-command Example theme={null}
.unlock #general acceso restaurado
```

### `.lock`

```headless-command Syntax theme={null}
/lock [channel:<channel>] [reason:<reason>]
```

```headless-command Example theme={null}
/lock channel:#general reason:raid detectado
```

### `.unlock`

```headless-command Syntax theme={null}
/unlock [channel:<channel>] [reason:<reason>]
```

```headless-command Example theme={null}
/unlock channel:#general reason:acceso restaurado
```

## Slowmode

`.slowmode [#canal] <duración> [razón]` (aliases `.slow`, `.sm`) cambia el intervalo en el canal actual o en uno indicado. Prefix acepta segundos o sufijos `s`, `m`, `h`, además de `off` o `0` para desactivar. El máximo es 21 600 segundos (seis horas). `/slowmode` recibe el canal, `seconds` como entero entre 0 y 21 600, y una razón; slash no acepta sufijos de unidad.

El actor necesita `Manage Channels` (nativo o Fake Permission compatible) y Headless necesita su propio `Manage Channels` nativo. Cada cambio registra en un caso y log los valores anterior y nuevo. Slowmode solo limita la frecuencia de mensajes: no los borra ni bloquea el canal.

### `.slowmode`

```headless-command Syntax theme={null}
.slowmode [first=0] [second] [reason]
```

```headless-command Example theme={null}
.slowmode 15
```

También funciona: `.slowmode #general 10m flood` · `.slowmode #general off`

### `.slowmode`

```headless-command Syntax theme={null}
/slowmode [channel:<channel>] [seconds:<seconds>] [reason:<reason>]
```

```headless-command Example theme={null}
/slowmode channel:#general seconds:600 reason:flood
```

**Nota:** El valor slash de slowmode siempre se expresa como segundos enteros. Por ejemplo, `10m` en prefix equivale a `seconds: 600` en slash. `.lockdown` y `.endlockdown` son solo prefix.

## Lockdown de varios canales

`.lockdown [razón]` (alias `.ld`) y `.endlockdown` (aliases `.eld`, `.elock`) son comandos prefix; no existe un equivalente slash. Lockdown recorre las categorías, canales de texto, voz, Stage y foros disponibles. Quien lo inicia necesita `Administrator` (nativo o Fake Permission compatible); Headless necesita `Manage Channels` nativo.

Desde Dashboard → Lockdown se pueden configurar hasta 80 roles permitidos. Por cada objetivo, el proceso guarda el overwrite anterior de `@everyone` y los overwrites de esos roles permitidos; luego niega a `@everyone` enviar mensajes, reaccionar, crear hilos, conectarse, hablar y transmitir. Los roles incluidos reciben overwrites explícitos de participación. Un error en un destino no detiene el recorrido: el caso y el log registran objetivos completados y fallidos. La configuración y las instantáneas son por servidor.

`.endlockdown` intenta restaurar `@everyone` y los roles permitidos que aún existan. No guarda ni restaura otros overwrites de roles. Al terminar, incluso si algunas restauraciones fallan, el runtime marca el lockdown inactivo y borra las instantáneas persistentes. Si Discord rechaza una restauración, el servidor puede quedar parcialmente bloqueado sin copia automática; revisa los destinos y repara manualmente los overwrites afectados.

### `.lockdown`

```headless-command Syntax theme={null}
.lockdown [reason=Lockdown de emergencia]
```

```headless-command Example theme={null}
.lockdown raid detectado
```

### `.endlockdown`

```headless-command Syntax theme={null}
.endlockdown
```

```headless-command Example theme={null}
.endlockdown
```

## Recrear el canal actual (nuke)

`.nuke [razón]` (aliases `.nk`, `.recreatechannel`, `.reiniciarcanal`) o `/nuke [reason]` recrea únicamente el canal de texto desde el que se ejecuta. No acepta un canal destino. El comando presenta una confirmación y requiere `Manage Channels` y acceso Anti-Nuke Admin; el owner del servidor y el owner de Headless también pasan ese control. Ser Administrator por sí solo no concede acceso Anti-Nuke Admin. Headless necesita `Manage Channels`, `View Channel` y `Send Messages`; el comando prefix también requiere `Manage Messages` del bot. Quien confirma debe ser la misma cuenta que inició la acción y seguir pasando el control de Anti-Nuke. El callback actual no fija una expiración para esa confirmación.

Headless clona el canal, intenta conservar la posición y después elimina el original. El ID cambia y el historial de mensajes no se copia. El caso conserva la referencia anterior y el log se refiere al canal nuevo. La limpieza automática del clon solo se intenta si algo falla antes de borrar el canal original; una vez eliminado, no hay rollback automático.

Si omites el motivo, el comando registra el texto predeterminado `Channel recreated`.

> [!WARNING]
>
> El canal original se elimina y su historial no se copia; el ID cambia y no hay rollback automático después del borrado. Tras recrearlo, Headless publica el mensaje literal `first` en el canal nuevo. Revisa el canal y los permisos antes de confirmar.

### `.nuke`

```headless-command Syntax theme={null}
.nuke [reason]
```

```headless-command Example theme={null}
.nuke motivo registrado
```

### `.nuke`

```headless-command Syntax theme={null}
/nuke [reason:<reason>]
```

```headless-command Example theme={null}
/nuke reason:canal dañado
```

> [!WARNING]
>
> Lock y lockdown modifican overwrites, pero guardan alcances diferentes. Lock conserva solo el overwrite de `@everyone`; lockdown conserva `@everyone` y los roles de su allowlist. Evita editar manualmente esos overwrites mientras la instantánea esté activa y revisa el resultado antes de repetir un comando.

## Pasos

**1. Identifica el alcance**

Prueba lock y slowmode en un canal de ensayo. Antes de lockdown, revisa categorías, canales y los roles permitidos configurados.

**2. Aplica el cambio mínimo**

Elige canal, duración y razón. No bloquees una categoría sin revisar los canales que heredan sus permisos.

**3. Verifica el resultado**

Confirma el acceso efectivo en Discord y revisa el caso y el evento de log, incluidos los fallos parciales.

**4. Restaura y comprueba**

Después de una medida temporal, ejecuta `.unlock` o `.endlockdown` según corresponda y revisa manualmente los canales que Discord no pudo restaurar.

## Páginas relacionadas

* [Moderación y configuración](/docs/security/moderation.md)
* [Registros](/docs/server/logging.md)
* [Permisos de Headless](/docs/permissions.md)


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