Skip to content

ElSantanax/Streamlyra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

232 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

streamlyra

Es una solución de código abierto para streamers y creadores de contenido que necesitan gestionar múltiples plataformas de streaming simultáneamente. Centraliza todos los chats en una interfaz unificada con capacidades de moderación y análisis en tiempo real.

Sitio Web Documentación Discord

Capacidades por Plataforma

Plataforma Leer Chat Enviar Mensajes Moderación Subs & Gifts Seguidores Raids OAuth2
Twitch
YouTube
Kick
TikTok

Important

Nota sobre Kick: La API de Kick aún no expone eventos de Raids/Hosting. Se implementará cuando esté disponible. Nota sobre TikTok: Actualmente en modo solo lectura (listener). Soporta lectura de chat, regalos detallados, follows, cofres de tesoro (envelopes) y notificaciones de suscripción. Nota sobre YouTube: La API de YouTube no permite monitorear nuevos suscriptores en tiempo real de manera eficiente sin consumir cuotas excesivas. Solo se notifican "Nuevos Miembros" (Pago).

Twitch Real-Time Followers (Smart Polling)

Como la API de Chat (IRC) de Twitch no envía eventos de "Nuevo Seguidor", Streamlyra implementa un sistema inteligente de Smart Polling con las siguientes características:

  • Frecuencia: 1 Segundo (Ultra Baja Latencia).
  • Seguridad: Consume solo ~7.5% de la cuota de API permitida por usuario (60 pts/min vs 800 pts/min disponibles).
  • Robustez: Sistema de Auto-Refresh de tokens integrado. Permite sesiones de streaming de duración infinita (24/7) sin cortes por expiración de credenciales.

Sistema de Eventos Unificado

Streamlyra implementa un sistema visual unificado para eventos especiales (alertas) directamente en el chat, eliminando la necesidad de overlays externos complejos para la moderación básica.

Tipo de Evento Indicador Visual Color Mensaje en Chat
Follow Borde Lateral Izquierdo Marca de la Plataforma 👤 NUEVO SEGUIDOR
Suscripción Borde Lateral Izquierdo Marca de la Plataforma 🥳 NUEVA SUSCRIPCIÓN
Regalo / Sub Gift Borde Lateral Izquierdo Marca de la Plataforma 🎁 REGALO [Count]x [Name]
Cofre (TikTok) Borde Lateral Izquierdo Marca de la Plataforma 🧧 COFRE DE TESORO
Raid / Host Borde Lateral Izquierdo Marca de la Plataforma 🚨 RAID [Viewers]
Donación / Bits Borde Lateral Izquierdo Marca de la Plataforma 💎 DONACIÓN [Cantidad]

Nota: Los colores se adaptan automáticamente: Twitch (Violeta), YouTube (Rojo), Kick (Verde Neón), TikTok (Rosa/Rojo).

Proyecto Open Source

Este es un proyecto de código abierto creado para resolver una necesidad real de la comunidad de streamers. Está diseñado como un espacio de aprendizaje y colaboración donde:

  • Programadores de todos los niveles pueden contribuir y aprender
  • Diseñadores pueden mejorar la experiencia de usuario
  • Testers pueden ayudar a garantizar la calidad del producto
  • Creadores de contenido pueden sugerir funcionalidades

Note

No importa tu nivel de experiencia. Este proyecto fue creado precisamente para que puedas ver cómo funciona una aplicación real que resuelve un problema concreto, aprender de su arquitectura, y contribuir con tus ideas y habilidades.

Stack Tecnológico

Frontend:

React TypeScript Vite TailwindCSS Socket.io i18next

Backend:

NodeJS Express.js TypeScript Socket.io Postgres Sequelize Zod JWT

Testing:

Vitest Cypress Jest Testing Library

Integraciones: TMI.js (Twitch) · YouTube Data API · TikTok Live Connector · Pusher (Kick Webhooks) · OAuth2

Inicio Rápido

Prerrequisitos

NodeJS Postgres NPM

Instalación

# Clonar el repositorio
git clone https://github.com/ElSantanax/Streamlyra.git
cd Streamlyra

# Instalar dependencias del cliente
cd client && npm install

# Instalar dependencias del servidor
cd ../server && npm install

# Configurar variables de entorno
cp server/.env.example server/.env
# Editar server/.env con tus credenciales de plataformas

Desarrollo

# Terminal 1 - Servidor (puerto 4000)
cd server && npm run dev

# Terminal 2 - Cliente (puerto 5173)
cd client && npm run dev

Accede a la aplicación en http://localhost:5173

Contribuir

¿Interesado en contribuir a Streamlyra? Revisa nuestra Guía de Contribución para saber cómo puedes participar, sin importar tu nivel de experiencia.

Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.