La documentación de IRC RFC es una referencia importante, pero la primera introducción más útil que he encontrado sobre la comunicación entre el cliente de IRC y el servidor fue realmente simple.
Primero, necesita acceder a un shell * nix (por ejemplo, ssh en su servidor web que ejecuta Linux).
En la línea de comando, abra una conexión directa a un servidor IRC usando el programa 'nc'. Luego puede escribir comandos RFC directamente y ver la respuesta. Pruebe a escribir
$ nc wright.freenode.net 6667
PASS whateveryoulike
NICK yournick
USER username 0 * :Real Name
No se emite desde el servidor en medio de esto, pero ahora que ha iniciado sesión en y "registrado" el usuario. Nota: su nick no está registrado (ala NickServ), me refiero a registrar un usuario como se describe en la sección 3.1 del RFC 2812 IRC Client Protocol.
Ahora puede unirse a un canal:
JOIN #yourtestchannel
ver quién está en el canal:
WHO #yourtestchannel
enviarse a sí mismo un msg:
PRIVMSG yournick Message Text Here
chat en el canal (enviar el canalizar un mensaje):
PRIVMSG #yourtestchannel Message Text Here
Esto es especialmente útil si está conectado al mismo servidor y canal con un nick diferente en un cliente IRC real. Puedes chatear contigo mismo y enviar un nick al otro, y ver la salida de IRC "en bruto" que tendrás que analizar para escribir tu propio cliente o bot.
Por ejemplo, alguien que charla en un canal se ve algo como esto:
:[email protected]_various_parts PRIVMSG #channel :Hey guys, what's up?
Utilizando el RFC, se puede jugar con cualquier funcionalidad que desee y, más importante aún, encontrar la manera que necesita para analizar cosas
Ah, y no se olvide de PONG ocasionalmente, o cuando se le pida con un PING, para evitar el tiempo de espera de ping.
+1: la implementación de IRC con Twisted es fácil de hacer. –
También escribí https://irc3.readthedocs.org/ con python3/asyncio – gawel