Programmazione di un semplice client IRC (Internet-Relay-Chat).
Domanda
Ho iniziato a usare IRC in giovane età e ne sono sempre rimasto affascinato.Come esercizio di linguaggio, stavo pensando di programmare un semplice client IRC in Ruby con Scarpe come front-end grafico.La mia domanda a voi, gentili signori, con cosa devo familiarizzare per iniziare questa grande avventura (oltre alle scarpe e Ruby ovviamente)?Immagino che ci sia una sorta di specifica sul protocollo IRC.Qualche indicazione?
Soluzione
Un post precedente menzionava RFC1459.Sebbene sia un'ottima introduzione a IRC, in realtà è stata sostituita dalle RFC 2810-2813.Ecco un elenco più completo della documentazione necessaria per programmare qualsiasi cosa relativa a IRC:
- RFC1459 (RFC originale;sostituito, ma comunque utile)
- RFC2810 (Architettura IRC)
- RFC2811 (Gestione canali IRC)
- RFC2812 (Protocollo client IRC)
- RFC2813 (Protocollo server IRC)
- Specifica CTCP
- Specifica DCC
- Specifica CTCP aggiornata (non tutti i client lo supportano)
- Bozza di supporto (codice di risposta 005). (quasi tutti i server lo supportano al giorno d'oggi)
- Bozza delle funzionalità client (comando CAP). (supportato da alcuni server/client)
- Standard e proposte IRCv3 (le funzionalità future di IRC, alcune delle quali sono già ampiamente supportate)
Altri suggerimenti
La specifica IRC è stabilita nella RFC 1459
Ho trovato questo gioiellino su Wikipedia.Sembra intimidatorio.
In realtà non lo è.
Telnet su un server IRC e sperimenta in prima persona la semplicità del protocollo.La parte più difficile è la stretta di mano, dopodiché è molto semplice.
Una volta ho implementato un client e un server con altri 2 ragazzi (come parte di un corso).
Posso dirti che la RFC a cui eri già collegato è fantastica.
Proverei anche semplicemente ad annusare una connessione con un cliente esistente per vedere di persona come funzionano le cose.
Non è esattamente la risposta alla tua domanda, ma può essere utile.Se stai usando Ruby, ho trovato il progetto Autumn Leaves un ottimo modo per costruire un bot IRC usando Ruby:
http://github.com/RISCfuture/autumn/tree/master
È praticamente il Jibble del mondo Ruby.