Agradeceríamos tu ayuda para compartir nuestras crónicas sobre las ciencias de la computación.
Solución:
La documentación de IRC RFC es una referencia importante, pero la primera introducción más útil que encontré sobre la comunicación entre el cliente y el servidor de IRC fue realmente simple.
Primero, necesita acceso a un shell * nix (por ejemplo, ssh en su servidor web que ejecuta Linux).
En la línea de comandos, abra una conexión directa a un servidor IRC usando el programa ‘nc’. Luego puede escribir comandos RFC directamente y ver la respuesta. Intenta escribir
$ nc wright.freenode.net 6667
PASS whateveryoulike
NICK yournick
USER username 0 * :Real Name
Hay una salida del servidor en medio de esto, pero ahora ha iniciado sesión y ha “registrado” a su usuario. Nota: su nick no está registrado (ala NickServ), me refiero al registro de un usuario como se describe en la sección 3.1 del Protocolo de Cliente IRC RFC 2812.
Ahora puedes unirte a un canal:
JOIN #yourtestchannel
Ver quién está en el canal:
WHO #yourtestchannel
Envíate un msj:
PRIVMSG yournick Message Text Here
Chatea en el canal (envía un mensaje al canal):
PRIVMSG #yourtestchannel Message Text Here
Esto es especialmente útil si está conectado al mismo servidor y canal con un nick diferente en un cliente de IRC real. Puede chatear consigo mismo y enviar mensajes de un nick al otro, y ver la salida de IRC “en bruto” que tendrá que analizar para escribir su propio cliente o bot.
Por ejemplo, alguien que chatea en un canal se ve así:
:[email protected]_various_parts PRIVMSG #channel :Hey guys, what's up?
Usando el RFC, puede jugar con cualquier funcionalidad que desee y, lo que es más importante, descubrir cómo necesitará analizar las cosas.
Ah, y no se olvide de hacer PONG de vez en cuando, o cuando se le indique con un PING, para evitar el tiempo de espera de ping.
Si desea reinventar la rueda, debe implementar el RFC y hacer todo desde cero.
Si no quiere hacer eso y necesitaría cierto nivel de abstracción para facilitar su desarrollo (y debería hacerlo), vea Twisted.
También hay una biblioteca cliente Python IRC.
Para la mayoría de los protocolos, una buena manera de comenzar es buscar un documento llamado RFC. Hay uno para muchos protocolos y define, en profundidad, cómo debe comportarse.
Puede encontrar el de IRC aquí.