lig.rb
Linger の IRC gateway を Ruby でかきました。
- 部屋に入れる (パスワードつきの部屋にも入れる)
- 発言できる
だけです。
- チャンネル名は URL の末尾のやつ (チャンネルの名前ではない)
- leave しないで放置して繋ぎなおすと、いっぱいメッセージが流れるかもしれないですが処理していません。
- 部屋の nick がそのまま IRC の nick として流れます。なのでクライアントが u8 の nick を処理できないと死にます。
Ruby のライブラリが一応公開されていたのでそれつかっています。http://svn.lingr.com/api/toolkits/ruby/infoteria/api_client.rb
chokan の rice/irc が必要です。
$ mkdir lig $ cd lig $ svn export http://svn.coderepos.org/share/lang/ruby/chokan/trunk/rice/ $ wget http://svn.lingr.com/api/toolkits/ruby/infoteria/api_client.rb $ wget http://svn.coderepos.org/share/lang/ruby/misc/lig.rb
今は net-irc gem の一部になっています。HEAD をかなり頻繁に更新しているので
$ svn co http://svn.coderepos.org/share/lang/ruby/net-irc/trunk/ net-irc $ ruby examples/lig.rb --help
してください
tiarra の設定例
lingr {
host: localhost
port: 16669
name: username@example.com
password: password on lingr
in-encoding: utf8
out-encoding: utf8
}haskell_hackathon_2008 を IRC から見たかったのでつくりました。最初は http://search.cpan.org/src/MIYAGAWA/POE-Component-Client-Lingr-0.04/eg/lingr-ircd.pl を使おう/いじってみようとおもったのですが、せっかくなので Lingr の API をさわってみた感じです。
rice をもとにして IRC サーバをもっと簡単にかくライブラリを書いて gem にするとよさそうかもしれない。あんまソース綺麗じゃないしなぁ (てきとうに書いたわりにそこそこ安定してる)
なんかうんこみたいなバグがいっぱいあったのでたくさんなおしました。日記書くとバグがみつかる