Programmation d'un simple client IRC (Internet-Relay-Chat)
Question
J'ai commencé à utiliser IRC très jeune et j'ai toujours été fasciné par cela.Comme exercice de langage, je pensais programmer un simple client IRC en Ruby avec Chaussures comme interface graphique.Ma question, messieurs, avec quoi dois-je me familiariser pour me lancer dans cette belle aventure (à part les chaussures et Ruby bien sûr) ?J'imagine qu'il existe une sorte de spécification sur le protocole IRC.Des conseils ?
La solution
Un article précédent mentionnait la RFC1459.Bien qu'il s'agisse d'une très bonne introduction à IRC, elle a en fait été remplacée par les RFC 2810-2813.Voici une liste plus complète de la documentation dont vous avez besoin pour programmer tout ce qui concerne IRC :
- RFC1459 (RFC originale ;remplacé, mais toujours utile)
- RFC2810 (architecture IRC)
- RFC2811 (Gestion des canaux IRC)
- RFC2812 (protocole client IRC)
- RFC2813 (protocole du serveur IRC)
- Spécification CTCP
- Spécification DCC
- Spécification CTCP mise à jour (tous les clients ne prennent pas en charge cela)
- Projet ISupport (code de réponse 005) (presque tous les serveurs le supportent de nos jours)
- Version préliminaire des fonctionnalités client (commande CAP) (pris en charge par certains serveurs/clients)
- Normes et propositions IRCv3 (les futures fonctionnalités d'IRC, dont certaines sont déjà largement supportées)
Autres conseils
La spécification IRC est présentée dans la RFC 1459.
J'ai trouvé ce joyau sur Wikipédia.Cela semble intimidant.
En fait, ce n'est pas le cas.
Telnet sur un serveur IRC et soyez témoin de la simplicité du protocole.Le plus dur c’est la poignée de main, après c’est très simple.
Une fois, j'ai implémenté un client et un serveur avec 2 autres personnes (dans le cadre d'un cours).
Je peux vous dire que le RFC auquel vous étiez déjà lié est génial.
J'essaierais également simplement de détecter une connexion avec un client existant pour voir par vous-même comment les choses fonctionnent.
Ce n'est pas exactement une réponse à votre question, mais cela peut être utile.Si vous utilisez Ruby, j'ai trouvé que le projet Autumn Leaves était un excellent moyen de créer un bot IRC en utilisant Ruby :
http://github.com/RISCfuture/autumn/tree/master
C'est à peu près le Jibble du monde Ruby.