Skip to content Saltar al contenido

Chat de Twitch en tu juego de Godot

Pídele a Flockbay el chat de Twitch y lo escribe en tu juego: un autoload que lee el chat del streamer, y la jugabilidad del chat en tus propios scripts, como una votación sobre la siguiente sala, comandos que generan enemigos o espectadores que se unen al juego. Inicia sesión con tu propia app de Twitch y solo se comunica con Twitch, sin ningún servidor de por medio. Por defecto, el stream muestra votos y recuentos, nunca el texto del chat.

Read this page in English

Qué escribe Flockbay

Di qué debe hacer el chat en tu juego: “deja que mi chat de Twitch vote la siguiente sala”, “deja que los espectadores generen peligros delante de mí” o “un espectador escribe !join y recibe una unidad con su nombre encima”. Flockbay deduce los comandos a partir de tu juego.

Escribe un autoload, StreamChat, en res://stream_chat/stream_chat.gd. StreamChat lee el chat con EventSub de Twitch por WebSocket e inicia la sesión del streamer con el device code flow de Twitch. Convierte cada mensaje en votos y comandos y los envía a tu juego mediante señales. La parte de tu juego, el panel de votación, los comandos y las incorporaciones, va en tus propios scripts.

Los dos son archivos GDScript normales de tu proyecto: léelos y cámbialos como el resto de tu código. Nada de Flockbay se ejecuta en el juego, y StreamChat se comunica con Twitch y con nada más.

Flockbay también añade una sección Twitch en Settings de tu juego, una escena de prueba, dos acciones de prueba en Tune y un borrador de aviso de privacidad. Todo ello se describe más abajo.

Registrar tu app de Twitch

El juego inicia sesión con una app de Twitch tuya, una por juego. Hasta que tenga una, todo funciona con chat simulado, así que puedes construir y probar primero.

  1. Abre dev.twitch.tv/console e inicia sesión. Twitch te pide que actives primero la autenticación en dos pasos si está desactivada.
  2. Elige Register Your Application. Ponle el nombre de tu juego, establece OAuth Redirect URLs en http://localhost (el device code flow no lo usa), Category en Game Integration y Client Type en Public, y luego elige Create.
  3. Abre Manage en la app nueva y copia su Client ID.
  4. Dale el Client ID a Flockbay. Va en los ajustes del proyecto como twitch/client_id.

Un Client ID es público según la propia definición de Twitch, y un cliente Public no tiene secreto, así que no hay nada en el proyecto que ocultar. Twitch no permite compartir un Client ID entre apps, así que cada uno de tus juegos tiene el suyo.

Conectar en el stream

  1. En tu juego, abre Settings, luego Twitch, y activa Twitch chat. Channel puede quedar en blanco para leer tu propio canal.
  2. Pulsa Connect. El juego muestra un código.
  3. Ve a twitch.tv/activate e introduce el código, a ser posible sin que el código salga en el stream. La línea de estado muestra entonces Connected as y tu nombre de Twitch.
  4. Escribe en tu chat. Los votos y los comandos llegan al juego en un momento.

El inicio de sesión se guarda en el equipo, cifrado, y el juego lo comprueba con Twitch al arrancar y cada hora, como exige Twitch. Tras aproximadamente un mes sin uso, Twitch pide un código nuevo. Disconnect cierra la sesión y revoca el acceso.

Votos, comandos e incorporaciones

Una votación acepta !1, !2 y así sucesivamente, !vote 2, un 2 a secas o una palabra clave del nombre de la opción, como !fire. Cada espectador tiene un voto, y cuenta el último. Una votación dura al menos 20 segundos, porque los espectadores ven el stream con 5 a 30 segundos de retraso. Un empate se lo lleva la opción que llegó primero al recuento más alto, y una votación sin ningún voto queda en manos del juego.

Cada comando que alguien del chat puede usar para cambiar el juego, como generar algo o aplicar un modificador, pasa por un cooldown por espectador y un límite compartido, y el juego limita cuántas cosas generadas por el chat pueden estar activas a la vez. Un comando rechazado se descarta en silencio: no se escribe nada en el chat.

Los moderadores y el streamer pueden escribir !pause y !resume para detener y reanudar la jugabilidad del chat, y el streamer tiene una tecla para lo mismo. El juego indica cuál.

Los límites, la duración de la votación y los cooldowns son valores exportados bajo Twitch chat, así que puedes ajustarlos en Tune y en el Inspector.

Qué llega a tu stream

Tú respondes de lo que aparece en tu stream, así que la configuración por defecto deja fuera el texto del chat. La pantalla muestra los nombres de las opciones del propio juego y los recuentos en vivo. El nombre de un espectador solo aparece después de que se una con el comando del juego para unirse, y Hide names, en los ajustes de Twitch del juego, desactiva los nombres.

El texto del chat solo aparece si lo pides, y cada línea espera antes 10 segundos. Cuando un moderador elimina un mensaje, expulsa temporalmente o banea a un espectador, o vacía el chat, ese texto, nombre o voto sale de la pantalla al instante. Si el juego muestra nombres o texto, Shield Mode lo vuelve a dejar solo en votos.

Nada del chat se guarda: los nombres y los mensajes duran hasta que se cierra el juego.

Probar antes de emitir en directo

No hace falta un canal en directo para probar nada. En una build de depuración, Simulated chat, en los ajustes de Twitch del juego, sustituye al chat: espectadores inventados votan mientras hay una votación abierta.

Mientras el juego se ejecuta, Tune tiene dos acciones de prueba: Send test chat message, con un nombre de espectador y un texto, y Send 30 test votes. Las dos solo se ejecutan en una build de depuración, así que el juego que exportas nunca las ejecuta.

Flockbay también escribe una escena de prueba, res://tests/stream_chat_test.tscn, que le pasa al juego mensajes de chat, un baneo y un mensaje eliminado, y comprueba lo que hizo el juego. Se ejecuta en modo headless, sin ventana y sin red.

Publicar el aviso de privacidad

El Developer Agreement de Twitch pide a todo juego que use su chat un aviso de privacidad público. Flockbay redacta uno en res://stream_chat/PRIVACY-NOTICE.md. Dice qué lee el juego de Twitch, que no se guarda nada después de la sesión, qué escribe el juego en el chat, si escribe algo, y cómo desconectarse.

Añade tu contacto y luego publícalo en el sitio web o en la página de la tienda de tu juego. Cuando tenga una dirección, el botón Privacy de los ajustes de Twitch del juego lo abre.

Escribir en el chat

Por defecto, el juego nunca escribe en el chat. Pídeselo a Flockbay si quieres que lo haga, por ejemplo para responder a un comando. Entonces escribe como el streamer, solo en respuesta a algo, y nunca repite el mensaje ni el nombre de un espectador. Twitch pide permiso para escribir en el chat la próxima vez que el streamer se conecta.

Un pequeño crédito Made with Flockbay puede ir en el panel de votación si pides uno. El streamer puede desactivarlo con Hide credit en los ajustes de Twitch del juego.

Leer el chat sin iniciar sesión

El chat de Twitch también se puede leer sin app de Twitch y sin iniciar sesión, mediante el inicio de sesión anónimo que usa el propio chat web de Twitch. Flockbay lo añade solo si lo pides, como segunda opción en los ajustes de Twitch del juego. Twitch nunca ha documentado ese inicio de sesión, así que si Twitch lo cierra, un juego que lo use deja de leer el chat hasta que se actualice. Solo lee: nunca escribe.

Playtests, exportaciones y otras plataformas

En Flockbay Playtest el juego se conecta a Twitch pero no puede abrir un navegador, así que el streamer escribe twitch.tv/activate y el código. El inicio de sesión dura esa sesión.

El juego que exportas necesita que twitch/client_id esté establecido. Una exportación web ejecuta el mismo código e inicia sesión en cada sesión.

Los Bits y los Channel Points pueden activar efectos en el juego, nunca una apuesta ni nada con valor monetario, y ninguna parte del juego depende de seguir el canal.

Pídele a Flockbay el chat de YouTube Live y lo construye sobre tu propio proyecto de Google Cloud, que tiene una cuota de 10.000 unidades al día. Kick necesita un servidor, porque su inicio de sesión requiere un secreto de cliente y sus eventos de chat llegan por webhook. TikTok no tiene una API oficial para los comentarios en directo.

Descarga Flockbay

Flockbay es gratis para Windows, macOS y Linux. La app está en inglés; estas páginas explican en español lo que hace cada parte.

Descarga Flockbay

Sigue leyendo