Steffo's website

what a year, huh?

Guide - Twitch Chat tramite IRC

posted on ; updated on

Connettersi a Twitch Chat tramite IRC

È possibile connettersi a Twitch Chat con un client IRC, e per certi versi funziona pure meglio della chat integrata nel sito!

L'integrazione è pensata per i chat bot, ma in realtà è possibile connettersi anche come utenti normali.

Autenticazione

Il server IRC di Twitch non permette di autenticarsi direttamente con i propri username e password: bisogna che ogni applicazione che vi si connette passi dal sito per richiedere all'utente di autorizzarla, e solitamente i client IRC non supportano questo passo (OAuth2).

Possiamo però effettuarlo manualmente, simulando quello che farebbe un chat bot.


Per prima cosa, dobbiamo registrare un'applicazione su Twitch Developers, come se stessimo creando un chat bot:

Registrata l'applicazione, ne otteniamo il Client ID.

Con quello, possiamo dire a Twitch di chiedere ad un utente di autorizzare la nostra applicazione ad accedere a Twitch Chat per conto suo.


In particolare, quello che vogliamo fare è autorizzare il nostro utente, che, visto che lo abbiamo usato per creare l'applicazione, è già loggato su Twitch.

Ci è sufficiente allora aprire sul browser la pagina per l'autorizzazione alla chat dell'applicazione che abbiamo creato.

Essa ha questo link, con le X in fondo sostituite con il nostro Client ID:

https://id.twitch.tv/oauth2/authorize?response_type=token&redirect_uri=http://localhost&scope=chat%3Aread+chat%3Aedit&client_id=XXXXXXXXXXXXXXXXXXXXXXXX

Autorizzando l'app, non succederà visivamente niente, ma l'URL della pagina cambierà a:

http://localhost/?code=XXXXXXXXXXXXXXXXXXXXXXXX&scope=chat%3Aread+chat%3Aedit

Quella al posto delle X è la password che dobbiamo usare per accedere alla chat.

Configurazione di Halloy

Adesso, possiamo usare qualsiasi client IRC per connetterci, ma visto che io uso Halloy, mi concentrerò su quello.

Nella configurazione dei server di Halloy, aggiungiamo Twitch, con le seguenti impostazioni:

[servers.twitch]

# Parametri del server di Twitch Chat
server = "irc.chat.twitch.tv"
port = 6697
use_tls = true

# La password che abbiamo ottenuto prima, *prefissata da oauth:*
password = "oauth:<PASSWORD>"

# Il nostro username di Twitch, tutto minuscolo
nickname = "<USERNAME>"

# Connettiamoci automaticamente alla chat del nostro canale
channels = [
	"#<USERNAME>",
]

# Disattiviamo il comando WHO, che Twitch non supporta
who_poll_enabled = false

Aprendo Halloy, adesso, dovremmo vedere apparire il server di Twitch Chat, con il nostro canale sotto:

Il server &quot;twitch&quot;, con sotto il canale #captsteffo


Possiamo unirci a chat di altri canali inviando il comando /join #NOMECANALE, come ad esempio /join #gamesdonequick.

Fonti