Citrus
net-irc を使った IRC BOT フレームワーク
(chokan だったもの)
特徴
- 動的ロードプラギン
- 全部 UTF-8 (文字コード変換は Tiarra などで)
- チャンネルごとのプラグインのオンオフ
- テストいっぱい ( coverage: http://lab.lowreal.net/test/citrus/ )
リポジトリ
svn co http://svn.coderepos.org/share/lang/ruby/citrus/trunk/ citrus
動かすだけなら
ruby citrus.rb -c config.yaml.sample
プラグイン
- Citrus::Plugin を継承してください (必須ではないけど)
- ファイル名とクラス名は特に関係なくなりました
API
- datafile("foobar")
- Pathname でデータファイルへのパスをかえす。 (plugins/plusplus.rb を参考にしてください)
- post COMMAND, param, param
- サーバへコマンドをおくる post NOTICE, "#channel", "foobar"
- notice channel, mesg
- privmsg channel, mesg
- post をよぶさらに簡単なメソッド 詳しくはスーパークラスを参照: lib/citrus/plugin.rb
http://coderepos.org/share/browser/lang/ruby/citrus/trunk/plugins/simple_reply.rb (最も簡単なサンプル)
Rake タスク
- rake
- rake spec と同じ
- rake spec
- 全てのプラグイン・コアのテストを実行して coverage を吐く (すこし時間かかる)
- rake core:spec
- コアのテストを実行して coverage を吐く
- rake plugins:spec
- プラグインのテストを実行
- rake plugins:spce file=simple_reply.rb
- 指定プラグインのテストを実行
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)