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:
- Name: è indifferente
- OAuth Redirect URLs:
http://localhost - Category:
Other - Client Type:
Confidential
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:

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