Client IRC (Internet Relay Chat) simple écrit en Python 2
Un merci spécial à Ilie Cebanu (https://github.com/NotQuiteMelvin) pour la version Python 3.
Pour rejoindre n'importe quel canal (sur Freenode) avec le nom d'utilisateur sélectionné, exécutez simplement irc_client.py et mettez le nom d'utilisateur souhaité comme premier argument, suivi du nom du canal (avec # suivant ou sans) :
./irc_client.py myusername channeltojoin
ou
./irc_client.py myusername #channeltojoin // actually not working :)
Il semble que passer le nom du canal avec le script # break suivant, car Python traite # comme le début du commentaire ?
Voici à quoi cela ressemble actuellement (console de gauche : irc_client.py, console de droite : irssi) :
J'ai ajouté la version compilée dans le fichier de bytecode Python (avec l'extension .pyc). La compilation se fait par commande :
$ python -m compileall irc_client.py
Il pourrait être utile d'obtenir une version binaire au lieu du code cours.
les messages multilignes ne fonctionnent pas (liés à l'absence de réponse du serveur lorsqu'aucun autre utilisateur ne publie de message)
sortie parfois gâchée par les messages du serveur (comme PING)
manque d'UX - seuls des messages simples d'une ligne peuvent être envoyés :)
irc.freenode.net (serveur) et port 6667 codés en dur - mais peuvent être facilement ajoutés comme arguments
le nom de la chaîne doit être transmis sans #
en début de chaîne
sortie colorée (à déterminer)
https://en.wikipedia.org/wiki/Internet_Relay_Chat
RFC 1459 (protocole de discussion par relais Internet)
https://tools.ietf.org/html/rfc1459
Référence des codes de réponse du serveur IRC
https://www.alien.net.au/irc/irc2numerics.html
RFC 2812 (Internet Relay Chat : protocole client) :
https://tools.ietf.org/html/rfc2812
Autres ressources :
http://chi.cs.uchicago.edu/chirc/irc_examples.html
http://books.msspace.net/mirrorbooks/irchacks/059600687X/irchks-CHP-13-SECT-2.html