Saltar al contenido

Instalación

Sigue estos pasos para instalar correctamente el script en tu bot.

  1. Descarga el módulo y descomprime la carpeta

    Obtén la carpeta del módulo (normalmente en formato .zip o .rar) desde la fuente oficial. Usa una herramienta como WinRAR o 7-Zip para extraer la carpeta del script en tu equipo.

  2. Crea tus claves API de Twitch

    • Inicia sesión en la plataforma de desarrolladores de Twitch
      Ve a: Desarrollador para iniciar sesión o crear una cuenta para acceder a la consola de desarrollador.

    • Accede a la consola de desarrollador
      Una vez conectado, dirígete a la consola de aplicaciones: Consola

    • Crea tu aplicación
      Haz clic en “Crear aplicación” o ve a este enlace: Crear aplicación
      Rellena los siguientes campos:
      • Nombre (el nombre de tu aplicación, ejemplo: BotTwitch)
      • URL de redirección OAuth: http://localhost
      • Categoría: Application Integration
      • Tipo de cliente: Confidential

    • Obtención de las claves
      Una vez creada la aplicación, haz clic en “Gestionar” junto a tu aplicación.
      Copia tu ID de cliente (Client ID)
      Haz clic en “Nuevo secreto” para generar tu Secreto de cliente y cópialo (Client Secret)
      En el siguiente paso, deberemos codificarlos en el archivo .env (twitchClientID & twitchClientSecret)

  3. Configura las variables de entorno

    Abre el archivo .env proporcionado con el script y añade y modifica las variables de entorno necesarias para el correcto funcionamiento del módulo.

    • twitchClientID : La clave client ID de la API de Twitch (Ver paso 2)
    • twitchClientSecret : La clave secreta de la API de Twitch (Ver paso 2)
    • twitchUserAccount : ⚠️ El nombre de usuario exacto del streamer en Twitch
    • twitchIDAccount : ID de la cuenta de Twitch (Déjalo vacío, se rellenará automáticamente)
    • twitchChannelPostLive : ID del canal donde se enviarán las notificaciones de directo
    • twitchRoleViewerID : ID del rol de espectadores (¡Generalmente el rol de miembro para notificar a todo el servidor o un rol personalizado para que los miembros puedan elegir este rol para ser notificados de un nuevo directo!)
    • twitchChannelFollowerID: ID de la sala de voz que se actualizará con respecto al número de seguidores. Déjelo vacío si no desea actualizar la sala de voz.
  4. Copia/mueve los archivos/códigos a tu proyecto

    Copia los siguientes archivos en las carpetas correspondientes de tu proyecto de bot de Discord:

    • utils/twitch-notification.js : en la carpeta de tus utilidades
    • utils/environment.js : en la carpeta de tus utilidades

    Copia también el código de indexación del módulo en tu archivo index.js principal. En este archivo, hemos añadido prisma directamente vinculado al objeto “client”, añade este código al tuyo o ajústalo según tu forma de usar prisma.

    ❗ Crea una carpeta Images/screen-live/, se utilizará como búfer para el almacenamiento de imágenes. Una vez terminado el directo, el contenido de la carpeta se eliminará. En la carpeta Images/, añade la imagen de inicio de stream (online.png) y la imagen de fin de stream (offline.png), preferiblemente en 1920*1080 píxeles.

  5. Actualiza el esquema de la base de datos

    Añade el modelo de datos para la recuperación de notificaciones de directo de Twitch en tu archivo prisma/schema.prisma y ejecuta las migraciones necesarias para aplicar los cambios en tu base de datos. Ejecuta el siguiente comando:

    Ventana de terminal
    npx prisma generate
    npx prisma migrate dev --name add_twitch_notification
  6. Instala las dependencias

    Asegúrate de que las dependencias necesarias están instaladas revisando tu package.json y ejecutando:

    Ventana de terminal
    npm install
  7. Reinicia el bot

    Reinicia tu bot para que el script se tenga en cuenta.

  • En el archivo utils/twitch-notification.js, puedes modificar el tiempo en minutos para la verificación antes de que un directo se marque como terminado. Modifica la variable attemptReconnectMax que actualmente está configurada a 10 minutos.