2008-08-23 5 views
10

J'ai commencé à utiliser l'IRC à un jeune âge, et cela m'a toujours fasciné. En tant qu'exercice de langage, je pensais à programmer un simple client IRC dans Ruby avec Shoes comme frontal graphique. Ma question pour vous, messieurs, de quoi ai-je besoin pour me familiariser avec cette belle aventure (en plus des chaussures et de Ruby bien sûr)? J'imagine qu'il y a une sorte de spécification sur le protocole IRC. Des pointeurs?Programmation d'un simple client IRC (Internet-Relay-Chat)

Répondre

24

Une publication antérieure mentionnée RFC1459. Bien qu'il s'agisse d'une très bonne introduction à l'IRC, il a été remplacé par les RFC 2810-2813. Voici une liste plus complète des documents dont vous avez besoin de programmer quoi que ce soit-lié IRC:

+0

Notez que les RFC2810-RFC2813 sont écrites sur mon IRCnet seul (après la grande division). IRCnet est essentiellement le seul réseau majeur qui supporte les canaux '!'. 005 l'analyse et la compréhension de chaque jeton est .. difficile. Différents réseaux prennent en charge d'autres modes de canal (comme 'q',' a' et 'h' en tant que propriétaire, administrateur et halfop) –

+0

' 005' analyse n'est pas si compliqué, en fait. Les nouveaux jetons ne sont pas ajoutés souvent (encore moins à l'avenir maintenant que l'IRCv3 est adopté), et l'analyse des jetons actuels est plutôt simple: https://github.com/cinchrb/cinch/blob/master/lib/cinch/isupport .rb – Hinrik

+0

Vous n'analysez pas tous les jetons. Vous venez d'analyser une poignée de jetons, mais pas tous. –

7

J'ai trouvé ce petit bijou sur Wikipedia. Cela semble intimidant.

En réalité, ce n'est pas le cas. Telnet sur un serveur IRC et voyez la simplicité du protocole de première main. La partie la plus difficile est la poignée de main, après cela est très simple.

+1

+1 Telnet et essayez-le d'abord manuellement! –

+1

+1 - J'ai discuté sur IRC via telnet (uniquement pour les points geek) – Blorgbeard

2

Une fois, j'ai mis en place un client et un serveur avec 2 autres gars (dans le cadre d'un cours).
Je peux vous dire que le RFC auquel vous étiez déjà connecté est génial.
J'essaierais aussi simplement de renifler une connexion avec un client existant pour voir par vous-même comment fonctionnent les choses.

0

Pas exactement une réponse à votre question, mais cela peut être utile. Si vous utilisez Ruby, j'ai trouvé le projet Feuilles d'automne pour être un excellent moyen de construire un bot IRC en utilisant Ruby:

http://github.com/RISCfuture/autumn/tree/master

Il est à peu près le Jibble du monde Ruby.