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

# Sorteos

> Crea sorteos con requisitos que Lucie verifica en vivo — voz, estado personalizado, roles y antigüedad — con participación por botones.

Lucie organiza sorteos donde no basta con pulsar un botón: puedes exigir requisitos que ella **verifica en vivo**, con contadores de *desde cuándo* se cumplen. Todo se gestiona con `!sorteo`; escribirlo sin argumentos muestra la ayuda del sistema.

**Alias:** `sorteos`, `giveaway`, `gw`

<Note>
  Crear y gestionar sorteos (`crear`, `fin`, `reroll`, `cancelar`, `track`) requiere ser dueño del servidor o tener **Administrador** o **Gestionar Servidor**. Consultar (`lista`, `info`, `req` sobre ti mismo) está abierto a todo el mundo.
</Note>

## !sorteo crear

Publica un sorteo en el canal actual (o en el que indiques con `--canal`).

**Uso:** `!sorteo crear <duración> [ganadores] <premio> [opciones]`

**Alias:** `create`

**Permisos:** Gestionar Servidor

* **duración** — de **1 minuto a 60 días**, en formato `s`/`m`/`h`/`d`/`w` (ej. `30m`, `12h`, `2d`, `1w`).
* **ganadores** — número opcional de 1 a 20 justo después de la duración. Si no lo pones, hay 1 ganador.
* **premio** — texto libre.

<Tip>
  Si el premio empieza por un número (ej. "10€ en Steam"), indica siempre el número de ganadores antes, o Lucie interpretará ese número como la cantidad de ganadores.
</Tip>

### Requisitos

Añade las opciones que quieras al final del comando. Quien no las cumpla no podrá participar, y Lucie le dirá exactamente qué le falta.

| Opción                   | Requisito                                                                                                                                                                                                                                                                               |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--voz [mín]`            | Estar conectado a un canal de voz del servidor (el canal AFK no cuenta). Con un mínimo (ej. `--voz 1h`), exige llevar ese tiempo conectado.                                                                                                                                             |
| `--estado <texto> [mín]` | Llevar un texto en el estado personalizado (ej. `--estado /lucie`). El texto va sin espacios (máx. 60 caracteres), no distingue mayúsculas y basta con que aparezca dentro del estado. Admite un mínimo de tiempo (ej. `--estado /lucie 1d`). Máximo 2 requisitos de estado por sorteo. |
| `--rol @rol`             | Tener el rol indicado (mención o ID).                                                                                                                                                                                                                                                   |
| `--dias N`               | Llevar al menos N días en el servidor (1–3650).                                                                                                                                                                                                                                         |
| `--cuenta N`             | Cuenta de Discord con al menos N días de antigüedad (1–3650) — útil contra cuentas recién creadas.                                                                                                                                                                                      |

### Extras

| Opción            | Efecto                                                                                                                                               |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--bonus @rol x2` | Entradas extra para ese rol (multiplicador de ×2 a ×10). Si alguien tiene varios roles con bonus, se aplica el multiplicador más alto (no se suman). |
| `--veto @rol`     | Los miembros con ese rol no pueden participar.                                                                                                       |
| `--canal #canal`  | Publica el sorteo en otro canal de texto.                                                                                                            |
| `--sinrevalidar`  | Desactiva la re-verificación de requisitos al elegir ganadores (ver [el sorteo de ganadores](#cómo-se-eligen-los-ganadores)).                        |

**Ejemplos**

```text theme={"dark"}
!sorteo crear 2d Nitro 1 mes
!sorteo crear 12h 3 Tarjeta regalo
!sorteo crear 2d 1 Nitro 1 mes --voz --estado /lucie 1d --dias 7
!sorteo crear 1w Nitro --rol @Nivel10 --bonus @Booster x3 --veto @Sancionado --canal #sorteos
```

<Note>
  Puede haber hasta **10 sorteos activos** a la vez por servidor, y Lucie necesita **Enviar Mensajes** e **Insertar Enlaces** en el canal donde se publique.
</Note>

<Warning>
  En servidores muy grandes no hay barrido inicial de estados: el contador de `--estado` de cada miembro empieza a correr con su siguiente cambio de presencia. Si vas a exigir un mínimo de tiempo, activa antes el [pre-tracking](#sorteo-track).
</Warning>

## !sorteo lista

Muestra los sorteos activos del servidor: ID, premio, participantes, cuándo finalizan y enlace al mensaje.

**Uso:** `!sorteo lista`

**Alias:** `list`, `activos`

## !sorteo info

Muestra el detalle de un sorteo por su ID: premio, requisitos, participantes y, si ya terminó, sus ganadores (o si fue cancelado). Los sorteos finalizados siguen consultables durante 30 días.

**Uso:** `!sorteo info <id>`

**Ejemplos**

```text theme={"dark"}
!sorteo info 4
```

## !sorteo fin

Finaliza un sorteo ahora mismo y elige a los ganadores, sin esperar a la fecha prevista.

**Uso:** `!sorteo fin <id>`

**Alias:** `end`

**Permisos:** Gestionar Servidor

## !sorteo reroll

Vuelve a sortear un sorteo **ya finalizado** entre quienes participaban y siguen cumpliendo los requisitos. Los ganadores anteriores quedan excluidos para siempre: un <Tooltip tip="Volver a sortear entre los participantes para elegir otro ganador.">reroll</Tooltip> nunca puede repetir ganador.

**Uso:** `!sorteo reroll <id>`

**Permisos:** Gestionar Servidor

<Note>
  Las participaciones se conservan **24 horas** después de finalizar el sorteo. Pasado ese plazo ya no quedan candidatos para el reroll.
</Note>

## !sorteo cancelar

Cancela un sorteo activo sin ganadores. Las participaciones se eliminan al momento, así que un sorteo cancelado no admite reroll.

**Uso:** `!sorteo cancelar <id>`

**Alias:** `cancel`

**Permisos:** Gestionar Servidor

## !sorteo req

Consulta qué requisitos cumple un usuario y **desde cuándo**, sorteo por sorteo, además de si participa y con cuántas entradas. Sin argumentos te consulta a ti en los sorteos activos (hasta 3); con un ID consulta ese sorteo en concreto.

**Uso:** `!sorteo req [@usuario] [id]`

**Alias:** `requisitos`, `estado`

**Permisos:** cualquiera puede consultarse a sí mismo; consultar a otros requiere Gestionar Servidor.

**Ejemplos**

```text theme={"dark"}
!sorteo req
!sorteo req 4
!sorteo req @usuario
```

## !sorteo track

<Tooltip tip="Empezar a contar el tiempo en voz o el estado antes de que el sorteo exista.">Pre-tracking</Tooltip> de textos de estado: pon un texto en seguimiento **antes** de crear el sorteo y Lucie empezará a contar desde cuándo cada miembro lo lleva en su estado. Imprescindible si vas a exigir mínimos tipo `--estado /lucie 1d` — si no, el contador de todos arrancaría de cero al crear el sorteo.

**Uso:** `!sorteo track [texto]` · `!sorteo track off <texto>`

**Alias:** `seguimiento` (y `quitar` como alternativa a `off`)

**Permisos:** Gestionar Servidor

* Sin argumentos, lista los textos en seguimiento.
* `track <texto>` añade uno (máximo **5** por servidor).
* `track off <texto>` lo quita.

**Ejemplos**

```text theme={"dark"}
!sorteo track /lucie
!sorteo track
!sorteo track off /lucie
```

## Cómo se participa

Cada sorteo se publica con dos botones. Todas las respuestas son privadas: solo las ve quien pulsa.

<Columns cols={2}>
  <Card title="Participar" icon="gift">
    Si cumples todo, entras al sorteo (con tus entradas extra si tienes rol bonus). Si no, Lucie te responde en privado con la lista exacta de lo que te falta — por ejemplo, "llevas 3 h en voz, necesitas 1 d". Corrige y vuelve a pulsar. Si ya participabas, pulsar de nuevo refresca tus entradas por si tus roles cambiaron.
  </Card>

  <Card title="Mi estado" icon="ticket">
    Resumen privado de tu situación: cada requisito marcado como cumplido o no, desde cuándo lo cumples, y si estás participando (con tus entradas y cuándo entraste).
  </Card>
</Columns>

Si participas, en la respuesta privada aparece también un botón **Abandonar sorteo** para salirte cuando quieras. Hay un pequeño intervalo anti-spam entre pulsaciones, y los bots no pueden participar.

## Cómo cuentan las rachas

<AccordionGroup>
  <Accordion title="Voz">
    Moverte entre canales de voz conserva tu racha. Entrar al canal AFK cuenta como desconectarte.
  </Accordion>

  <Accordion title="Estado personalizado">
    Quitar el texto del estado estando conectado **rompe** la racha y el contador vuelve a cero. Desconectarte de Discord solo la **pausa** — dormir no te penaliza. Lucie guarda únicamente si llevas el texto y desde cuándo, nunca el contenido completo de tu estado.
  </Accordion>
</AccordionGroup>

## Cómo se eligen los ganadores

* El sorteo es aleatorio y **ponderado por entradas**: un rol bonus ×3 triplica tus opciones.
* Al sortear, Lucie **revalida** a los candidatos: quien dejó de cumplir los requisitos (o se fue del servidor) queda fuera, y las entradas bonus se recalculan con los roles actuales. Se desactiva con `--sinrevalidar` al crear.
* Los ganadores se anuncian con mención en el canal del sorteo y el mensaje original se actualiza como finalizado. Si nadie participaba (o nadie seguía cumpliendo), el sorteo termina sin ganador.

<Tip>
  ¿Dudas o algo no funciona como esperas? Pásate por el [servidor de soporte](https://discord.gg/VqyAZJ2mFc) o gestiona tu servidor desde el [panel web](https://lucie.elxy.dev).
</Tip>
