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

# Cómo funcionan las notificaciones

> Anuncia nuevas emisiones, vídeos, publicaciones y episodios de ocho plataformas externas directamente en tu servidor de Discord.

Vetox vigila ocho plataformas externas y publica un anuncio en tu servidor cada vez que aparece algo nuevo.

<CardGroup cols={4}>
  <Card title="Twitch" icon="twitch" href="/es/notifications/twitch" />

  <Card title="Kick" icon="tower-broadcast" href="/es/notifications/kick" />

  <Card title="YouTube" icon="youtube" href="/es/notifications/youtube" />

  <Card title="Reddit" icon="reddit" href="/es/notifications/reddit" />

  <Card title="Bluesky" icon="cloud" href="/es/notifications/bluesky" />

  <Card title="Steam" icon="steam" href="/es/notifications/steam" />

  <Card title="RSS" icon="rss" href="/es/notifications/rss" />

  <Card title="Podcasts" icon="podcast" href="/es/notifications/podcasts" />
</CardGroup>

## Tres cosas deben cumplirse

Esta es la causa individual más común de que las notificaciones parezcan no funcionar. Se requieren las tres y solo la primera se ve en la propia página de notificaciones.

<Steps>
  <Step title="Premium Basic o superior">
    Todas las plataformas requieren al menos el nivel **Basic**. Añadir una suscripción en Starter se rechaza con un mensaje que nombra la plataforma.

    La comprobación se ejecuta dos veces: al añadir el elemento y en el momento en que se enviaría un anuncio.
  </Step>

  <Step title="El conmutador de la plataforma en Configuración del servidor">
    Cada plataforma tiene su propio interruptor en la página [Configuración del servidor](/es/server-management/setup), y está **desactivado por defecto**. No basta con configurar la notificación.

    <Warning>
      Ninguna página de notificaciones te muestra el estado de este conmutador. Un feed totalmente configurado y con premium pagado no se disparará nunca en silencio, sin indicación en ningún lugar de la interfaz de notificaciones. **Comprueba primero Configuración del servidor.**
    </Warning>
  </Step>

  <Step title="Permisos de canal">
    Vetox necesita **Ver canal**, **Enviar mensajes** e **Insertar enlaces** en el canal de destino. Ver abajo.
  </Step>
</Steps>

## Límites

**10 elementos por plataforma, por servidor**: 10 streamers de Twitch, 10 canales de YouTube, 10 subreddits, etc.

Es un límite de producto fijo. **No** aumenta con un nivel premium superior y es el mismo en Basic, Max y Black.

## Con qué rapidez llegan las notificaciones

Vetox consulta cada plataforma con un calendario fijo. Un anuncio llega en la siguiente consulta después de que aparezca el contenido.

| Plataforma | Consulta cada | Enfriamiento por fuente |
| ---------- | ------------- | ----------------------- |
| Twitch     | 60 segundos   | 10 minutos              |
| Kick       | 60 segundos   | 10 minutos              |
| Bluesky    | 60 segundos   | 2 minutos               |
| Reddit     | 3 minutos     | 2 minutos               |
| Steam      | 3 minutos     | 2 minutos               |
| YouTube    | 5 minutos     | 10 minutos              |
| RSS        | 5 minutos     | 5 minutos               |
| Podcasts   | 5 minutos     | 5 minutos               |

El **enfriamiento** es un mínimo entre dos anuncios de la misma fuente, independiente del intervalo de consulta. Un subreddit que publica tres veces en un minuto produce un anuncio, no tres.

<Note>
  La consulta la realiza una única instancia elegida, por lo que un servidor con mucha actividad nunca recibe duplicados desde trabajadores paralelos.
</Note>

### Dos modelos distintos de seguimiento

| Modelo              | Plataformas    | Comportamiento                                                                                   |
| ------------------- | -------------- | ------------------------------------------------------------------------------------------------ |
| **Estado en vivo**  | Twitch, Kick   | Sigue si la emisión está en vivo o desconectada, y anuncia el momento en que ese estado *cambia* |
| **Contenido nuevo** | Las otras seis | Sigue elementos individuales y anuncia cada uno nuevo una vez                                    |

<Warning>
  **Añadir un streamer que ya está en vivo no produce nada.** El seguimiento por estado en vivo solo se dispara con una transición de desconectado → en línea. Si añades a alguien a mitad de emisión, el primer anuncio que recibirás será su *próxima* emisión.

  Prueba con alguien que esté actualmente desconectado, o simplemente espera.
</Warning>

<Note>
  El estado en vivo/desconectado se sigue **por streamer, no por servidor**. Si varios servidores siguen al mismo streamer, se rigen por un estado compartido.
</Note>

## Lo que no se anunciará

<AccordionGroup>
  <Accordion title="Nada publicado antes de que lo añadieras" icon="clock-rotate-left">
    Añadir una suscripción nunca recupera lo anterior. Solo se anuncia el contenido publicado después de que añadieras el elemento, para que tu canal no se inunde durante la configuración.
  </Accordion>

  <Accordion title="Contenido de más de 2 horas" icon="hourglass-end">
    Para las seis plataformas basadas en contenido, cualquier cosa publicada hace más de 2 horas se ignora aunque Vetox no la haya visto nunca. Esto evita que se vuelque una acumulación tras una caída.

    Un elemento cuyo feed no proporcione una fecha de publicación legible se salta esta comprobación y puede anunciarse independientemente de su antigüedad. Esto es a veces la razón por la que aparece un elemento antiguo de RSS.
  </Accordion>

  <Accordion title="El mismo elemento dos veces" icon="copy">
    Cada elemento anunciado se recuerda durante **7 días**, por servidor, para que un reinicio o una consulta lenta no puedan producir un duplicado. Dos servidores que sigan el mismo feed reciben cada uno su copia: que un servidor vea un elemento no lo suprime para otro.
  </Accordion>

  <Accordion title="Respuestas y reposts de Bluesky" icon="reply">
    Solo se anuncian las publicaciones originales. Las respuestas y reposts se filtran por partida doble. **Las citas no se filtran** y se anunciarán.
  </Accordion>

  <Accordion title="Nada que llegara mientras premium estuvo caducado" icon="triangle-exclamation">
    Un elemento visto mientras tu premium está inactivo se marca como visto durante 7 días aunque no se haya publicado nada. Mejorar el plan no lo anuncia de forma retroactiva.

    Tras reactivar premium, espera un periodo tranquilo hasta que aparezca contenido realmente nuevo.
  </Accordion>
</AccordionGroup>

## Permisos de Discord

Se comprueban en los permisos activos del bot en el canal de destino al enviar:

| Permiso              | Por qué                                                                                                              |
| -------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Ver canal**        | Vetox no puede publicar en un canal que no puede ver                                                                 |
| **Enviar mensajes**  | Para publicar el anuncio                                                                                             |
| **Insertar enlaces** | Cada notificación es un embed. Sin este permiso el mensaje se rechaza sin más, aunque Enviar mensajes esté concedido |

<Warning>
  **Un fallo de permiso pierde ese elemento de forma permanente.** El elemento se marca como visto antes de intentar el envío, y no hay reintento. Corrige los permisos *antes* de que se publique el contenido que te importa, no después.
</Warning>

<Tip>
  Si un canal tiene sobreescrituras de permiso personalizadas, comprueba los permisos *efectivos* del bot allí en lugar de su rol a nivel de servidor. Insertar enlaces es el que suele faltar con más frecuencia.
</Tip>

## Personalización del anuncio

| Opción                    | Qué hace                                                                                                                       |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Canal de Discord**      | Dónde se publica el anuncio. Se define por elemento seguido, para que distintos streamers puedan publicar en distintos canales |
| **Rol a mencionar**       | Un rol al que hacer ping con el anuncio                                                                                        |
| **Embed personalizado**   | Control total del título, descripción, color, autor, pie, miniatura, imagen y campos                                           |
| **Mensaje personalizado** | Texto plano usado como cuerpo del embed. **Disponible solo en RSS y Podcasts**                                                 |

<Note>
  Un control de mensaje personalizado aparece solo en las páginas de RSS y Podcast. Las otras seis plataformas usan un embed personalizado en su lugar.
</Note>

### Límites de tamaño del embed

| Campo                      | Límite                                 |
| -------------------------- | -------------------------------------- |
| Título                     | 256 caracteres                         |
| Descripción                | 4.096 caracteres                       |
| Nombre del autor           | 256 caracteres                         |
| Texto del pie              | 2.048 caracteres                       |
| Campos                     | 25, cada uno de 256 / 1.024 caracteres |
| URLs de imagen y miniatura | 500 caracteres, sin SVG                |

### Variables

Los campos del embed y del mensaje admiten variables entre llaves, como `{streamer.name}`. Cada plataforma tiene su propio conjunto, listado en la página de esa plataforma.

<Warning>
  **Una variable desconocida se convierte en texto vacío, no en un error.** Y un campo de embed cuyo título o valor acabe vacío se descarta del mensaje por completo.

  Así que un campo que sigue desapareciendo casi siempre significa una variable mal escrita o una que no existe para esa plataforma. Comprueba el nombre contra la lista de la página de la plataforma: el desplegable del editor es la referencia autorizada.
</Warning>

<Note>
  Las variables de emisión de Twitch y Kick (`{stream.title}`, `{stream.viewers}`, etc.) solo existen en el anuncio **en vivo**. Usadas en un embed offline se resuelven a nada y su campo desaparece.
</Note>

## Menciones

El rol de mención que configures recibe ping con normalidad.

<Warning>
  Las menciones dentro de un embed de notificación **no** se restringen al rol configurado. Una mención a rol o usuario escrita en un mensaje personalizado o en el cuerpo del embed hará ping. Ten cuidado con `@everyone` en una plantilla personalizada.
</Warning>

## Dos ajustes que no puedes cambiar

<Note>
  El **interruptor maestro** y el **color del embed** de cada plataforma se almacenan pero no tienen un control funcional en el panel. Todas las plataformas usan su color de marca por defecto y el interruptor maestro no se puede conmutar.

  Usa el conmutador de [Configuración del servidor](/es/server-management/setup) para desactivar una plataforma, y un embed personalizado para definir un color.
</Note>

## Solución de problemas

<AccordionGroup>
  <Accordion title="No se publica nada en absoluto">
    En orden:

    1. El conmutador de la plataforma en la página **Configuración del servidor** está activado: por defecto está desactivado y no se ve desde aquí
    2. El servidor tiene premium **Basic** o superior activo
    3. El canal de destino sigue existiendo
    4. Vetox tiene ahí **Ver canal + Enviar mensajes + Insertar enlaces**
    5. Para Twitch y Kick: el streamer se desconectó y volvió desde que lo añadiste
  </Accordion>

  <Accordion title="Recibo el anuncio en vivo pero no el de desconexión">
    Los anuncios de desconexión están **desactivados por defecto** en Twitch y Kick. Actívalos en el streamer seguido.
  </Accordion>

  <Accordion title="Un campo del embed sigue desapareciendo">
    Su título o valor se resolvió a vacío y el campo se descartó. Casi siempre una variable mal escrita o de otra plataforma.
  </Accordion>

  <Accordion title="No puedo añadir un undécimo elemento">
    Diez por plataforma es el máximo y no escala con el nivel. Elimina uno primero.
  </Accordion>

  <Accordion title="Funcionaba y dejó de funcionar tras caducar mi premium">
    La configuración se conserva, no se borra, y se reanuda automáticamente. Pero cualquier cosa publicada durante la caducidad ya está marcada como vista y no se anunciará retroactivamente.
  </Accordion>

  <Accordion title="Borrar el canal en un streamer de Twitch o Kick no hizo nada">
    Un campo de canal vaciado no se envía, así que se conserva el canal anterior y no se muestra error. Selecciona un canal distinto en lugar de vaciarlo.
  </Accordion>
</AccordionGroup>
