Einfacher IRC-Client (Internet Relay Chat), geschrieben in Python 2
Besonderer Dank geht an Ilie Cebanu (https://github.com/NotQuiteMelvin) für die Python 3-Version.
Um einem Kanal (auf Freenode) mit dem ausgewählten Benutzernamen beizutreten, führen Sie einfach irc_client.py aus und geben Sie den gewünschten Benutzernamen als erstes Argument ein, gefolgt vom Kanalnamen (mit folgendem # oder ohne):
./irc_client.py myusername channeltojoin
oder
./irc_client.py myusername #channeltojoin // actually not working :)
Scheint das die Übergabe des Kanalnamens mit dem folgenden #-Unterbrechungsskript zu sein, da Python # als Anfang des Kommentars behandelt?
So sieht es jetzt aus (linke Konsole: irc_client.py, rechte Konsole: irssi):
Ich habe eine Version hinzugefügt, die zur Python-Bytecode-Datei kompiliert wurde (mit der Erweiterung .pyc). Die Kompilierung erfolgt per Befehl:
$ python -m compileall irc_client.py
Es könnte nützlich sein, eine Binärversion anstelle des Quellcodes zu erhalten.
Mehrzeilige Nachrichten funktionieren nicht (im Zusammenhang mit der fehlenden Antwort vom Server, wenn kein anderer Benutzer eine Nachricht postet)
Die Ausgabe wird manchmal durch Servernachrichten (wie PING) gestört.
Mangel an UX – es können nur einfache einzeilige Nachrichten gesendet werden :)
irc.freenode.net (Server) und Port 6667 fest codiert – können aber einfach als Argumente hinzugefügt werden
Der Kanalname muss ohne führendes #
übergeben werden
Bunte Ausgabe (TBD)
https://en.wikipedia.org/wiki/Internet_Relay_Chat
RFC 1459 (Internet Relay Chat Protocol)
https://tools.ietf.org/html/rfc1459
Referenz zu IRC-Server-Antwortcodes
https://www.alien.net.au/irc/irc2numerics.html
RFC 2812 (Internet Relay Chat: Client-Protokoll):
https://tools.ietf.org/html/rfc2812
Weitere Ressourcen:
http://chi.cs.uchicago.edu/chirc/irc_examples.html
http://books.msspace.net/mirrorbooks/irchacks/059600687X/irchks-CHP-13-SECT-2.html