Skip to content

Cross-platform stream manager for Twitch & Kick sync.

Notifications You must be signed in to change notification settings

jonathanhecl/stream-sync

Repository files navigation

Stream Sync (Twitch & Kick)

Herramienta unificada para actualizar Título y Categoría en Twitch y Kick simultáneamente. Olvídate de configurar cada plataforma por separado.

🚀 Requisitos Previos

  1. Tener Python 3.x instalado.
  2. Instalar las librerías necesarias:
    pip install -r requirements.txt
    (Asegúrate de que requirements.txt tenga: requests, python-dotenv)

⚙️ Configuración Inicial (Setup)

1. Archivo .env

Crea un archivo .env en la raíz (puedes copiar .env.example y renombrarlo) con las siguientes variables básicas:

# TWITCH SETUP
TWITCH_CLIENT_ID=tu_client_id_de_twitch_console
TWITCH_CLIENT_SECRET=tu_client_secret_de_twitch_console

# KICK SETUP
KICK_CHANNEL_SLUG=tu_usuario_kick (ej: hide-zone)
KICK_CLIENT_ID=tu_client_id_de_kick_console
KICK_CLIENT_SECRET=tu_client_secret_de_kick_console

2. Autorizar Twitch

Ejecuta el script de configuración de Twitch. Esto abrirá tu navegador para que inicies sesión y generará los tokens automáticamente en tu .env.

cd twitch
python twitch_setup.py

Si falla, asegúrate de haber configurado http://localhost:3000/callback como Redirect URI en tu aplicación de Twitch Developer Console.

3. Autorizar Kick

Ejecuta el gestor de Kick en modo setup. Esto generará una URL de autorización y te pedirá el código resultante.

cd kick
python kick_manager.py
# Selecciona la opción "1. Configurar/Obtener Keys"

🎮 Uso Diario

Opción A: Modos Rápidos (Archivos .bat)

Simplemente haz doble clic en cualquiera de los archivos .bat en la raíz para cambiar el stream instantáneamente:

  • Mode_AO.bat: Pone "Argentum Online".
  • Mode_Software.bat: Pone "Software Development".
  • Mode_Chat.bat: Pone "Just Chatting".

Para crear uno nuevo:

  1. Copia y pega uno de los .bat existentes.
  2. Haz clic derecho -> "Editar".
  3. Cambia TITLE y CATEGORY a tu gusto.

Ejemplo de Batch para Software:

@echo off
echo Actualizando a Software Development...
python stream_manager.py update -t "Programando un nuevo proyecto" -c "Software Development"
echo Listo! Stream actualizado.
pause

Parámetros personalizados que puedes usar:

  • -t "Tu título personalizado": Define el título del stream
  • -c "Nombre de categoría": Define la categoría (ej: "Software Development", "Just Chatting", "Argentum Online")

Opción B: Consola (Avanzado)

Puedes usar el script principal stream_manager.py desde la terminal:

# Actualizar ambos canales
python stream_manager.py update -t "Nuevo Título Epico" -c "Just Chatting"

# Leer configuración actual
python stream_manager.py read

# Menú Interactivo
python stream_manager.py

Opción C: Categorías Personalizadas

El archivo categories.json mapea nombres cortos (alias) a los IDs reales de Twitch y Kick. Puedes editarlo para añadir tus juegos favoritos.

{
    "mi juego": {
        "twitch": { "id": "12345", "name": "Juego en Twitch" },
        "kick": { "id": 999, "name": "Juego en Kick" }
    }
}

⚠️ Notas / Problemas Conocidos

  • Lectura de Kick: Actualmente, la API de Kick no devuelve correctamente el Título y la Categoría actuales al comando de lectura (read). Esto es un "bug" o limitación conocida de la API pública en su estado actual.
    • Importante: Esto NO AFECTA la capacidad de actualizar (update). El cambio de título y categoría funciona perfectamente aunque la lectura falle.

📂 Estructura de Archivos

  • stream_manager.py: Script maestro. Coordina todo.
  • kick/: Scripts específicos para conectar con Kick.
  • twitch/: Scripts específicos para conectar con Twitch.
  • categories.json: Base de datos de tus juegos y sus IDs.
  • *.bat: Accesos directos para cambiar configuración en 1 click.

About

Cross-platform stream manager for Twitch & Kick sync.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published