Twitch Chat es un simple chat de IRC. Para cualquier desarrollo serio, hay varios documentos para ello, incluido el recurso más completo y general: http://ircdocs.horse/
IRC es un protocolo TCP básico, basado en texto plano. Conectarse a Twitch funciona como cualquier servicio de IRC regular con una diferencia en la autenticación:
Iniciación de la conexión> Apretón de manos> Uso
El apretón de manos es normalmente la parte más difícil de hacer bien:
Después de establecer la conexión con el servidor, debe proporcionar PASS
y luego un NICK
, donde PASS
es un OAuth-Token (que puede generar aquí ) y USER
es el nombre de usuario de este token de OAuth.
El protocolo de enlace es el siguiente ( <
se envía del cliente al servidor, >
se envía del servidor al cliente):
< PASS oauth:your_oauth_token
< NICK your_username
> :tmi.twitch.tv 001 your_username :connected to TMI
> :tmi.twitch.tv 002 your_username :your host is TMI
> :tmi.twitch.tv 003 your_username :this server is pretty new
> :tmi.twitch.tv 004 your_username tmi.twitch.tv 0.0.1 w n
> :tmi.twitch.tv 375 your_username :- tmi.twitch.tv Message of the day -
> :tmi.twitch.tv 372 your_username :- not much to say here
> :tmi.twitch.tv 376 your_username :End of /MOTD command
Una vez que haya recibido cualquiera de estos MODE
, 376
o 422
, puede continuar y puede enviar al servidor de contracción cualquier comando, como:
> JOIN :#gamesdonequick
> PRIVMSG #gamesdonequick :Hello world!
Una guía más completa de los comandos cliente-servidor se puede encontrar aquí .
Si bien Twitch utiliza un servicio de IRC estándar, hay algunos eventos vistos en el servicio de IRC que se relacionan con la actividad en un canal en el sitio web de Twitch. Los ejemplos aquí son el modo lento que se habilita o deshabilita, el modo solo para suscriptores se habilita / deshabilita en el chat de un streamer, la actividad de alojamiento y la actividad de bits / cheer, entre otros.
Los detalles sobre estas capacidades específicas de Twitch se enumeran en la documentación de GitHub para IRC de Twitch, que se puede encontrar aquí .