グルチャ

node.jsのsocket.ioでIRCリレーサーバーを作ってherokuにデプロイしてみた

IRC Client
http://irc-client.herokuapp.com/
これはあくまでリレーサーバーであってIRCサーバーそのものではない。
図で説明するとこんな感じ。
irc.00.01
要はウェブブラウザから直接IRCサーバーには繋がらないので、両者を仲介するサーバーを作ったのだ。
 
ちなみにソースコードはgithubに置いた。
https://github.com/SimtterCom/irc-client
ソースコードのうち、リレーサーバーとIRCサーバーを繋ぐソースコード(irc.js)はKaedeさんのソースコードを使用したので、Kaedeさん作者への謝意とともにirc.jsの著作権はKaedeさん作者にあることを明記する
Node.jsで動くIRCBot、kaedeさんを作った
 
さらにちなみに開発はCloud9で開発した。
クラウドサービス使いまくって全部無料。
凄い時代だ。
 
では、IRC Clientの使い方を説明する。

画面説明

まずは、画面説明をする。
http://irc-client.herokuapp.com/にアクセスしたら下図の画面になる。
irc.01.01
 

テキスト入力欄

Host:アクセスするIRCサーバー名を指定する(デフォルトではWordPressのチャンネルがあるサーバーを設定している)
Port:IRCサーバーのポート番号(6667か6669)
User Nane:実際あまり使われることないが必要(実質どんな名前でも良い。スペースは使えない)
Real Name:これも使われることが無いが必要(スペースも使える)
Nick Name:IRCサーバーに繋がってるユーザー全てにユニークな名前でないといけない。チャットで表示されるのもこの名前
Channel Name:入りたいチャンネル名を指定する。指定したチャンネルが無い場合は自動で作られる。(デフォルトではWordPressの公式チャンネルを指定している)
Message:自分が発言したい内容を書き込む。
 

ボタン

Login:IRCサーバーにログインする。(ログインした後はボタンがLogoutに変更になる)
Logout:ログインしているIRCサーバーからログアウトする。
Join:チャンネルに参加する。(参加した後はボタンがPartに変更になる)
Part:参加しているチャンネルから離脱する。
Send:発言する。(Messageが空白だとボタンが無効になっている。Messageに何か文字を入れると有効になる)
 

表示

Channel Users:チャンネルに入っているユーザー一覧
Name:発言した人のNick Name
Message:発言内容
 

チュートリアル

次にチュートリアルを説明する。

IRCにログインする

irc.02.01
loginボタンを押してログインする
 
irc.02.02
Please Wait…ダイアログが表示されるのでしばらく待つ
 
irc.02.03
Successが表示されればログイン成功。
OKボタンを押す。
 
irc.02.11
Failedが表示されればログイン失敗。
Nicknameがすでに使われているので、違うNicknameに変更して再度Loginボタンを押す。
 

チャンネルに参加する

ログインが成功すれば次はチャンネルに参加する。
irc.02.04
Channel Nameに参加したいチャンネル名(デフォルトではWordpressの公式チャンネルになっている)を入力してJoinボタンを押す。
 
irc.02.05
Channel UsersとMessageに自分がジョインしたメッセージが表示されればジョイン成功。
 

発言する

次は実際発言してみよう。
irc.02.06
Messageに発言内容(この例ではHello!)を入力してSendボタンを押す。
 
irc.02.07
Nameに自分のニックネーム、Messageに発言内容が表示されれば発言成功。
 

チャンネルから離脱する

チャンネルからの離脱方法を説明する。
irc.02.08
Partボタンを押す。

IRCからログアウトする

IRCからのログアウト方法を説明する。
irc.02.09
チャンネルから離脱した状態でLogoutボタンを押す。
 
irc.02.10
ログイン前の状態に戻ればログアウト成功。


Leave a reply

Your email address will not be published.

Time limit is exhausted. Please reload CAPTCHA.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>