Python 2 で書かれたシンプルな IRC (インターネット リレー チャット) クライアント
Python 3 バージョンについては Ilie Cebanu (https://github.com/NotQuiteMelvin) に感謝します。
選択したユーザー名で (Freenode 上の) チャンネルに参加するには、単に irc_client.py を実行し、最初の引数として目的のユーザー名を入力し、その後にチャンネル名 (# の有無にかかわらず) を入力します。
./irc_client.py myusername channeltojoin
または
./irc_client.py myusername #channeltojoin // actually not working :)
Python は # をコメントの先頭として扱うため、次の # ブレーク スクリプトでチャネル名を渡すようですか?
現時点では次のようになります (左のコンソール: irc_client.py、右のコンソール: irssi)。
Python バイトコード ファイル (.pyc 拡張子付き) にコンパイルされたバージョンを追加しました。コンパイルは次のコマンドで行います。
$ python -m compileall irc_client.py
コースコードの代わりにバイナリバージョンを取得すると便利な場合があります。
複数行メッセージが機能しない (他のユーザーがメッセージを投稿しないときにサーバーから応答がないことに関連)
サーバーメッセージ (PING など) によって出力が乱れることがある
UX の欠如 - 単純な 1 行メッセージのみを送信できます:)
irc.freenode.net (サーバー) とポート 6667 はハードコードされていますが、引数として簡単に追加できます
チャネル名は先頭に#
付けずに渡す必要があります
カラフルな出力 (TBD)
https://en.wikipedia.org/wiki/Internet_Relay_Chat
RFC 1459 (インターネット リレー チャット プロトコル)
https://tools.ietf.org/html/rfc1459
IRC サーバー応答コードのリファレンス
https://www.alien.net.au/irc/irc2numerics.html
RFC 2812 (インターネット リレー チャット: クライアント プロトコル):
https://tools.ietf.org/html/rfc2812
その他のリソース:
http://chi.cs.uchicago.edu/chirc/irc_examples.html
http://books.msspace.net/mirrorbooks/irchacks/059600687X/irchks-CHP-13-SECT-2.html