Cliente IRC (Internet Relay Chat) simple escrito en Python 2
Un agradecimiento especial a Ilie Cebanu (https://github.com/NotQuiteMelvin) por la versión Python 3.
Para unirse a cualquier canal (en Freenode) con el nombre de usuario seleccionado, simplemente ejecute irc_client.py y coloque el nombre de usuario deseado como primer argumento, seguido del nombre del canal (con el siguiente número o sin él):
./irc_client.py myusername channeltojoin
o
./irc_client.py myusername #channeltojoin // actually not working :)
¿Parece que pasar el nombre del canal con el siguiente script # break, ya que Python trata # como el comienzo del comentario?
Así es como se ve ahora (consola izquierda: irc_client.py, consola derecha: irssi):
Agregué una versión compilada en un archivo de código de bytes de Python (con extensión .pyc). La compilación se realiza mediante comando:
$ python -m compileall irc_client.py
Puede resultar útil obtener una versión binaria en lugar del código fuente.
Los mensajes multilínea no funcionan (relacionados con la falta de respuesta del servidor cuando ningún otro usuario publica mensajes)
la salida a veces se ve alterada por los mensajes del servidor (como PING)
falta de UX: solo se pueden enviar mensajes simples de una línea :)
irc.freenode.net (servidor) y puerto 6667 codificados, pero se pueden agregar fácilmente como argumentos
El nombre del canal debe pasarse sin el #
salida colorida (TBD)
https://en.wikipedia.org/wiki/Internet_Relay_Chat
RFC 1459 (Protocolo de chat de retransmisión de Internet)
https://tools.ietf.org/html/rfc1459
Referencia de códigos de respuesta del servidor IRC
https://www.alien.net.au/irc/irc2numerics.html
RFC 2812 (Chat de retransmisión de Internet: protocolo de cliente):
https://tools.ietf.org/html/rfc2812
Otros recursos:
http://chi.cs.uchicago.edu/chirc/irc_examples.html
http://books.msspace.net/mirrorbooks/irchacks/059600687X/irchks-CHP-13-SECT-2.html