> ## 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.

# Honeypot

> Configura un único canal señuelo por servidor para detectar mensajes de miembros no exentos y aplicar una respuesta compatible con Headless.

## Qué detecta y qué excluye

Headless admite actualmente un solo canal Honeypot por servidor. El setup publica su panel y habilita disparadores por mensaje; las reacciones empiezan desactivadas y se pueden activar desde Dashboard. Se ignoran bots, miembros con `Administrator` o `Manage Server` y los roles exentos configurados. Una misma persona no puede volver a activar otra respuesta durante la ventana anti-repetición de 45 segundos. La clave interna sigue llamándose `honeyspot`; el comando público canónico es `.honeypot`.

## Setup, activación y permisos

Invocar `.honeypot` solo consulta el estado: no crea canales ni activa la aplicación de sanciones. `.honeypot setup [acción]` crea o reutiliza el canal configurado, aplica los permisos de `@everyone`, publica el panel y habilita la detección. El bot necesita `Manage Channels` y `Manage Roles`; si Discord rechaza los permisos del canal, el setup falla en vez de informar que quedó activo. La configuración se guarda cuando el panel se publica correctamente. En una configuración nueva, omitir `acción` selecciona un `timeout` de siete días. Si el servidor ya tenía una acción guardada, setup sin argumento la conserva. Las configuraciones antiguas con una acción guardada pero sin duración mantienen el fallback anterior de 60 minutos; una duración guardada explícitamente también se conserva. Al crear un canal nuevo, Headless concede a `@everyone` `View Channel`, `Send Messages` y `Read Message History`. Al reutilizar uno existente, ajusta solo `View Channel` y `Send Messages`, sin sustituir los demás overwrites; el historial, las reacciones, los adjuntos y los enlaces dependen de los permisos existentes del canal o categoría. Usa un canal dedicado e informa al equipo que interactuar allí puede activar la respuesta. `.honeypot add #canal <acción>` configura un canal de texto existente sin cambiar sus overwrites; el bot debe poder verlo, leer su historial y publicar el panel.

> [!NOTE]
>
> Antes de cambiar un overwrite de `@everyone`, Headless guarda su estado allow/deny/inherit en la configuración del servidor. `.honeypot remove` lo restaura sin borrar el canal ni sus mensajes. `.honeypot add` no modifica overwrites. Las configuraciones anteriores a este snapshot no contienen el permiso original; Headless desactiva la trampa y conserva la referencia para que un administrador revise manualmente el canal.

## Respuesta y notificación

Las acciones aceptadas son `log`, `timeout`, `kick` y `ban`; cualquier otra acción se rechaza. El timeout se puede configurar entre 1 minuto y 28 días. `log` registra sin sancionar. En disparadores por mensaje, `delete_trigger` está activado por defecto: después de procesar correctamente la respuesta, Headless intenta borrar el mensaje; si el procesamiento falla, lo conserva. El borrado es independiente de la sanción y un fallo al borrar no la revierte. Los disparadores por reacción nunca borran el mensaje fuente. Para timeout, kick o ban Headless necesita el permiso nativo correspondiente y una jerarquía que permita actuar sobre el miembro. También intenta enviar un DM de seguridad y registra el resultado; un fallo de DM no impide la respuesta.

### Añadir, consultar y quitar la trampa

La configuración actual admite un canal. Si ya hay uno configurado, añadir otro se rechaza; primero quita el anterior. `remove` desactiva la aplicación de sanciones, restaura los overwrites guardados y elimina la referencia; no borra el canal de Discord, el panel ni el historial. Si Discord no permite restaurar un overwrite, Headless conserva la configuración desactivada y el snapshot para reintentar.

```headless-command Syntax theme={null}
.honeypot add <#channel> <log|timeout|kick|ban>
```

```headless-command Example theme={null}
.honeypot add #honeypot timeout
```

```headless-command Syntax theme={null}
.honeypot list
```

```headless-command Example theme={null}
.honeypot list
```

```headless-command Syntax theme={null}
.honeypot remove [#channel]
```

```headless-command Example theme={null}
.honeypot remove #honeypot
```

Estos comandos solo se ejecutan en servidores y requieren `Administrator` nativo o el permiso virtual equivalente de Headless. `setup` y `channel` necesitan que el bot tenga `Manage Roles` para configurar los overwrites; `setup` también necesita `Manage Channels` para crear un canal si no existe. Para `add`, Headless comprueba que pueda ver el canal, leer el historial y enviar el panel, además del permiso nativo requerido por la acción. La jerarquía se valida al actuar sobre cada miembro.

## Limpieza opcional del historial

Está apagada inicialmente. `.honeyspot cleanup on [límite]` (aliases `clean`, `limpieza`, `cl`) activa la limpieza en futuras activaciones; `off` la apaga. Omitir el límite usa 250; debe estar entre 25 y 1000 y los valores fuera de rango se rechazan sin cambiar la configuración. La limpieza solo se ejecuta después de una acción punitiva exitosa (`timeout`, `kick` o `ban`), nunca en modo `log`. Cada activación borra como máximo `min(límite, 500)` mensajes en total y solo contenido de menos de 14 días. Recorre canales de texto e hilos accesibles; Headless necesita `View Channel`, `Read Message History` y `Manage Messages` en cada canal. La configuración no inicia una limpieza inmediata.

## Panel y configuración

`.honeyspot test` publica una vista previa del panel, en el canal configurado o en el actual si falta uno; no prueba el disparador ni aplica sanciones. `status` muestra permisos y jerarquía. Dashboard permite ajustar mensajes, exclusiones y los elementos visuales del panel (título, pie, thumbnail e imagen/banner); las imágenes remotas deben usar HTTPS y el acento del panel permanece amarillo. `message` cambia el texto del panel y `panel` lo vuelve a publicar o actualizar.

## Pasos

**1. Elige un canal dedicado**

Informa al personal de que publicar —y, si se habilita, reaccionar— puede activar una acción automática. No uses un canal cotidiano sin revisar sus permisos.

**2. Empieza en modo registro**

Ejecuta `.honeypot setup log`; activa el módulo sin sancionar. En una configuración nueva, setup sin acción selecciona timeout de siete días.

**3. Revisa la configuración**

Comprueba `.honeypot list`, `.honeypot status`, los permisos del canal, las exclusiones y los permisos del bot. `.honeypot test` solo muestra el panel; prueba el disparador únicamente con una cuenta de prueba no exenta y una política aprobada.

**4. Activa una sanción después de revisarla**

Si la política del servidor lo permite, ejecuta `.honeypot off`, elige la acción y duración, confirma los permisos y la jerarquía y luego ejecuta `.honeypot on`. Mantén apagada la limpieza de historial salvo que también se haya aprobado su alcance.

## Comandos y diagnóstico

> **Comandos principales**
>
> El comando canónico es `.honeypot`; `.honeyspot` y `.honey` siguen funcionando como alias. El prefijo se puede cambiar por servidor, así que sustituye `.` en estos ejemplos si fue modificado. El grupo incluye `add`, `list` y `remove`, además de los comandos existentes `setup`, `spot`, `on`, `off`, `action`, `channel`, `timeout`, `cleanup`, `status`, `panel`, `message` y `test`. El alias `.honeyspot` acepta las mismas operaciones, por ejemplo `.honeyspot setup log` y `.honeyspot action log`; `.honeyspot test` solo muestra el panel. No hay comandos slash de Honeyspot.

> **¿Qué permiso necesita quien configura?**
>
> Los subcomandos son solo para servidor y requieren `Administrator` nativo o el permiso virtual equivalente de Headless. El bot necesita `Manage Channels` para crear el canal del setup y `Manage Roles` para configurar overwrites con `setup` o `channel`; también debe poder publicar el panel. `add` comprueba acceso del bot para ver el canal, leer el historial y enviar mensajes; timeout, kick y ban requieren el permiso nativo correspondiente. El rol de Headless debe estar por encima del miembro sancionado. Fake Permissions no concede permisos de Discord al bot.

> **El comando test no activa la trampa**
>
> Es el comportamiento esperado. `test` publica o previsualiza el panel sin ejecutar un evento de mensaje/reacción. Usa `status` para comprobar estado y permisos; el disparador solo se prueba con una cuenta no exenta que interactúe con el canal configurado.

> **La limpieza no borró todo el historial**
>
> La limpieza está acotada por el límite de mensajes por canal y el tope global de hasta 500 eliminaciones por activación. Omite contenido antiguo, canales inaccesibles y eliminaciones rechazadas por Discord; el resultado puede ser parcial y aparece en Logs.

### `.honeypot setup`

```headless-command Syntax theme={null}
.honeypot setup [log|timeout|kick|ban]
```

```headless-command Example theme={null}
.honeypot setup log
```

El alias `.honeyspot` sigue disponible.

### `.honeyspot action`

```headless-command Syntax theme={null}
.honeyspot action <action>
```

```headless-command Example theme={null}
.honeyspot action log
```

También funciona: `.honeyspot action timeout`

### `.honeyspot off`

```headless-command Syntax theme={null}
.honeyspot off
```

```headless-command Example theme={null}
.honeyspot off
```

### `.honeyspot timeout`

```headless-command Syntax theme={null}
.honeyspot timeout <duration>
```

```headless-command Example theme={null}
.honeyspot timeout 60m
```

### `.honeyspot on`

```headless-command Syntax theme={null}
.honeyspot on
```

```headless-command Example theme={null}
.honeyspot on
```

![Captura histórica de una confirmación de Honeyspot en español; la versión actual responde en inglés. Se ocultaron el usuario y el canal.](https://mintcdn.com/headless-labs/ZF85v3KoGVX7saRn/images/headless-replies/honeyspot-setup-redacted.png?fit=max\&auto=format\&n=ZF85v3KoGVX7saRn\&q=85\&s=91100e5bc14763602f69e1c5372c4145)

Captura histórica de una respuesta anterior en español; la versión actual de Headless responde en inglés. Se ocultaron el usuario y el canal.

### `.honeyspot status`

```headless-command Syntax theme={null}
.honeyspot status [member]
```

```headless-command Example theme={null}
.honeyspot status
```

También funciona: `.honey status`

### `.honeyspot test`

```headless-command Syntax theme={null}
.honeyspot test
```

```headless-command Example theme={null}
.honeyspot test
```

### `.honeyspot channel`

```headless-command Syntax theme={null}
.honeyspot channel <channel>
```

```headless-command Example theme={null}
.honeyspot channel #honeyspot
```

### `.honeyspot message`

```headless-command Syntax theme={null}
.honeyspot message <message>
```

```headless-command Example theme={null}
.honeyspot message Mensaje de seguridad
```

### `.honeyspot panel`

```headless-command Syntax theme={null}
.honeyspot panel
```

```headless-command Example theme={null}
.honeyspot panel
```

### `.honeyspot cleanup`

```headless-command Syntax theme={null}
.honeyspot cleanup <state> [limit=250]
```

```headless-command Example theme={null}
.honeyspot cleanup on 250
```

También funciona: `.honeyspot cleanup off`

> [!WARNING]
>
> Si nunca se guardó una acción, `.honeypot setup` aplica timeout de siete días. En una configuración existente, setup sin argumento conserva la acción guardada. Empieza una configuración nueva con `.honeypot setup log` si no quieres sancionar. La limpieza de historial puede borrar mensajes recientes en varios canales de forma irreversible y tiene un límite de 500 por activación.

**Nota:**

Los ajustes de Honeyspot se guardan por servidor. La vista previa `test` solo publica el panel y no comprueba que el disparador o una sanción funcionen.

## Páginas relacionadas

* [Moderación](/docs/security/moderation.md)
* [Registros](/docs/server/logging.md)
* [Dashboard](/docs/dashboard.md)


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