IRCの話

IRCクライアント作りたいと思ってIRCの仕様調べ始めた。IRCは半年以上使ってるのに全然使い方わかってなくて、サーバとチャンネルがあってPRIVMSGとJOINのコマンドがあることくらいしか知らなかった。limechatは面倒なので、ブラウザで動くようなやつをRubyとJSで作って良い感じのデザインにして普段使いしたい。

こんな感じ

実装の話

Rubyの実装でこういう感じにしてみてるけど絶対あとで気持ち悪がられそう。

%w[ADMIN KICK MOTD QUIT VERSION AWAY KNOCK NAMES RULES VHOST CREDITS LICENSE NICK SETNAME WATCH CYCLE LINKS NOTICE SILENCE WHO DALINFO LIST PART STATS WHOIS INVITE LUSERS PING TIME WHOWAS ISON MAP PONG TOPIC PASS JOIN MODE USERHOST USER PRIVMSG].each do |name| define\_method(name.downcase) do |\*params| command [name, params].flatten.join(" ") end end def command(msg) @socket.write(msg + "\r\n") end