2008-08-23 17 views
10

Empecé a usar IRC a una edad temprana, y siempre me ha fascinado. Como ejercicio de lenguaje, estaba pensando en programar un cliente IRC simple en Ruby con Shoes como interfaz gráfica. Mi pregunta para ustedes, señores amables, ¿con qué me tengo que familiarizar para comenzar esta gran aventura (además de los zapatos y Ruby por supuesto)? Me imagino que hay algún tipo de especificación sobre el protocolo IRC. ¿Alguna sugerencia?Programación de un cliente IRC (Internet-Relay-Chat) simple

Respuesta

24

Una publicación anterior menciona RFC1459. Si bien es una muy buena introducción al IRC, en realidad ha sido reemplazada por las RFC 2810-2813. Aquí está una lista más completa de la documentación que debe programar nada IRC relacionado con:

+0

Tenga en cuenta que RFC2810-RFC2813 están escritos solo en mi IRCnet (después de la gran división). IRCnet es básicamente la única red importante que admite canales '!'. 005 analizar y comprender cada token es ... difícil. Diferentes redes admiten otros modos de canal (como 'q',' a' y 'h' como propietario, administrador y halfop) –

+0

' 005' análisis no es tan complicado, en realidad. Los nuevos tokens no se agregan a menudo (incluso menos en el futuro ahora que IRCv3 está siendo adoptado), y el análisis de los actuales es bastante sencillo: https://github.com/cinchrb/cinch/blob/master/lib/cinch/isupport .rb – Hinrik

+0

No analiza todos los tokens. Simplemente analiza un puñado de tokens, pero no todos. –

7

me encontré con esta joya en Wikipedia. Suena intimidante.

En realidad no es así.

Telnet en un servidor IRC y sea testigo de la simplicidad del protocolo de primera mano. La parte más difícil es el apretón de manos, después de eso es muy simple.

+1

+1 Telnet y pruébalo manualmente primero! –

+1

+1 - He chateado en IRC a través de telnet (solo para los puntos geek) – Blorgbeard

2

Una vez implementé un cliente y un servidor con 2 personas más (como parte de un curso).
Te puedo decir que la RFC a la que ya te has vinculado es excelente.
También intentaría simplemente olfatear una conexión con un cliente existente para ver cómo funcionan las cosas.

0

No es exactamente una respuesta a su pregunta, pero puede ser útil. Si está usando Ruby, he encontrado el proyecto hojas de otoño para ser una gran manera de construir un bot de IRC usando Ruby:

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

Es más o menos la Jibble del mundo Ruby.

Cuestiones relacionadas