Este proyecto es un backend de Node.js diseñado para potenciar tus streams. Se conecta con Streamer.bot, Spotify y Kick para capturar eventos en tiempo real y mostrarlos en un conjunto de overlays web personalizables, listos para añadir a OBS o cualquier software de transmisión.
- Integración con Streamer.bot: Captura y procesa eventos de Kick en tiempo real.
- Alertas personalizables: Notificaciones visuales para follows, raids, suscripciones, regalos de subs y Kicks.
- Chat en Overlay: Muestra el chat de Kick directamente en tu stream con un diseño moderno.
- Integración con Spotify:
- Muestra la canción que está sonando con carátula, artista y barra de progreso.
- Sistema de Song Request canjeable a través de recompensas de canal.
- Overlays de Encuestas y Predicciones: Visualiza en tiempo real las encuestas y predicciones de Streamer.bot.
- Integración con Impresora Térmica: Genera e imprime tickets personalizados al recibir nuevos seguidores u otros eventos.
- Backend Robusto: Construido con TypeScript, moderno y con reconexión automática a los servicios.
- Fácil de Configurar: Todo se gestiona a través de un simple archivo de entorno.
Sigue estos pasos para poner en marcha el proyecto.
- Node.js: v18 o superior.
- Streamer.bot: Con la extensión de Kick configurada.
- Cuenta de Desarrollador de Spotify: Necesitarás crear una aplicación en el Dashboard de Desarrolladores de Spotify para obtener tus credenciales.
- Impresora Térmica (Opcional): Una impresora Bluetooth ESC/POS (como la YHK-02BD o similar) si deseas usar la función de impresión.
- Clona el repositorio.
- Abre una terminal en la carpeta del proyecto.
- Instala las dependencias:
npm install
Este proyecto necesita un conjunto de acciones para funcionar. Las encontrarás en el archivo Actions.txt.
- Importa las Acciones: En Streamer.bot, ve a la pestaña
Actions. En el panel superior, haz clic derecho y seleccionaImport. Busca y selecciona el archivoActions.txtde este proyecto. - Copia los IDs: Una vez importadas, se crearán varias acciones. Haz clic derecho sobre cada una de ellas, selecciona
Copy Action IDy pega el ID en el archivo.envque crearás en el siguiente paso.
-
Crea un archivo llamado
.enven la raíz del proyecto. -
Copia y pega el siguiente contenido, rellenando los valores con tus credenciales y los IDs de las acciones que acabas de importar.
# PUERTO DEL SERVIDOR LOCAL PORT=4000 # -- STREAMER.BOT -- SB_HOST=127.0.0.1 SB_PORT=8080 SB_PASSWORD= # -- SPOTIFY -- SPOTIFY_CLIENT_ID=TU_CLIENT_ID_DE_SPOTIFY SPOTIFY_CLIENT_SECRET=TU_CLIENT_SECRET_DE_SPOTIFY SPOTIFY_REDIRECT_URI=http://localhost:4000/callback # ID de la recompensa de canal para el Song Request REDEMPTION_ID=ID_DE_LA_RECOMPENSA_DE_STREAMERBOT # IDs de las Acciones importadas de Streamer.bot ACTION_GET_REDEEMS=ID_DE_LA_ACCION_PARA_OBTENER_RECOMPENSAS ACTION_SEND_MESSAGE=ID_DE_LA_ACCION_PARA_ENVIAR_MENSAJE_AL_CHAT ACTION_REJECT_REDEMPTION=ID_DE_LA_ACCION_PARA_RECHAZAR_RECOMPENSA ACTION_ACEPT_REDEMPTION=ID_DE_LA_ACCION_PARA_ACEPTAR_RECOMPENSA # -- IMPRESORA TÉRMICA (Opcional) -- PRINTER_ENABLED=false # true para habilitar la impresión PRINTER_PORT=COM4 # Puerto Serial o COM (ej: COM4 o /dev/rfcomm0) PRINTER_FONT_REGULAR=C:/path/to/regular_font.ttf PRINTER_FONT_BOLD=C:/path/to/bold_font.ttf PRINTER_BT_MAC=AA:BB:CC:DD:EE:FF # MAC de la impresora Bluetooth (necesario en Windows/Linux) PRINTER_BT_CHANNEL=2 # Canal RFCOMM (usualmente 1, 2 o 11, necesario para el binding en Linux)
- Abre tu navegador y ve a
http://localhost:4000/auth. - Inicia sesión y autoriza la aplicación.
Esta integración permite imprimir automáticamente un ticket personalizado (con el avatar de Kick, si está disponible) cada vez que un nuevo usuario sigue el canal.
La función de impresión se activa automáticamente al recibir el evento kickFollow de Streamer.bot. No es necesario configurar ninguna acción de Streamer.bot adicional para este evento.
- Habilita la función: Configura
PRINTER_ENABLED=trueen el archivo.env. - Configuración de Puertos:
- Windows: Asegúrate de que la impresora Bluetooth esté emparejada y el sistema le haya asignado un puerto COM (p. ej.,
COM4). La aplicación usará laPRINTER_PORTy laPRINTER_BT_MACpara intentar establecer la conexión serial. - Linux: Debes configurar la conexión Bluetooth para el puerto serial RFCOMM. El valor de
PRINTER_PORTdebe coincidir con el dispositivo creado (ej:/dev/rfcomm0).
- Windows: Asegúrate de que la impresora Bluetooth esté emparejada y el sistema le haya asignado un puerto COM (p. ej.,
- Fuentes: Las variables
PRINTER_FONT_REGULARyPRINTER_FONT_BOLDdeben apuntar a archivos de fuente TrueType (.ttf) accesibles por el sistema para la generación de texto vectorial.
-
Modo Desarrollo:
npm run dev
-
Modo Producción:
npm run build npm start
Crea una nueva Fuente de Navegador (Browser Source) para cada uno con las siguientes URLs:
- Alertas:
http://localhost:4000/overlay/alerts.html - Chat:
http://localhost:4000/overlay/chat.html - Now Playing (Spotify):
http://localhost:4000/overlay/nowplaying.html - Encuestas / Predicciones:
http://localhost:4000/overlay/polls.html
Este proyecto está bajo la licencia Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
