Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Citrus Plugins

Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
http
README.mkd
amazon_price.rb
amazon_search.rb
atom.rb
atom.yaml
censer.rb
cookpad.rb
dictionary.rb
eval.rb
google_calc.rb
google_def.rb
google_map.rb
google_news.rb
google_search.rb
google_train.rb
google_transit.rb
http.rb
kill.rb
log_search.rb
marukofu-tool.rb
marukofu.rb
marukofu_reply.rb
movie_search.rb
nannohi.rb
naruto.rb
niconico.rb
okinawa.rb
okinawa.yaml
okinawa_news.rb
ping.rb
plusplus.rb
price.rb
random_reply.rb
server.rb
simple_reply.rb
system.rb
systemcheck.rb
taihu.rb
train_disaster.rb
tsukkomi.rb
twitter.rb
twitter_id.rb
twitter_search.rb
weather.rb
wikipedia.rb
word_count.rb

README.mkd

How To Citrue

Start UP

起動方法

  1. 基本的な起動

    $ ./citrus
    
  2. config ファイルを指定して起動

    $ ./citrus -c ./config.yaml
    $ ./citrus --config ./config.yaml
    

Config

デフォルトでは config.yaml になります.

gernal:                           # 基本設定
  host: 0.0.0.0                   # tiarra等 接続先IRCサーバ
  port: 0000                      # 接続先 サーバ port
  user: hoge                      # ユーザ名
  nick: fuga                      # ニックネーム
  real: hogefuga                  # 実名
  pass: password                  # パスワード
  error: #hoge@fuga               # エラー時にpostするチャンネル
  plugin_dir: /path/to/plugins    # プラグインディレクトリ
  data_dir: /path/to/data         # データファイルディレクトリ
  log: /path/to/logfile           # ログファイル.省略した場合は標準出力へ
  log_level: debug                # FATAL / ERROR / WARN / INFO / DEBUG 省略時はDEBUG
  charset:
    default: utf-8                # 文字コード

Plugin

作成方法

  1. プラグインは plugin_dir で指定したディレクトリに置く
  2. ファイル名は特にクラス名と一緒にする必要はない. ( ※ただし既存プラグインの多くはクラス名と同じにしている )
  3. プラグインは Cotrus::Plugin を継承しよう

    class TestPlguin < Citrus::Plugin
    end
    
  4. プラグインは Citrus 起動時にインスタンスが生成される

  5. initialize に渡される引数は以下の 2 つ

    ・Citrusクラスオブジェクト
    ・config 内容の配列
    
  6. Citrus::Plugin を継承して initialize を定義する場合はかならず super を呼び出してください. もしくは @core に引数の Citrus クラスオブジェクトを @config に 引数の config 内容の配列を代入してください.

    class TestPlugin < Citrus::Plugin
      def initialize(core, config)
        super
      end
    end
    
  7. Citrus のメソッドが呼び出されるタイミングは 13 回あります

    ・on_uped      # ?
    ・on_downed    # ?
    ・on_privmsg   # 通常のメッセージが POST された
    ・on_talk      # TALKにてメッセージが POST された
    ・on_notice    # Notice にてメッセージが POST された
    ・on_join      # チャンネルに JOIN した
    ・on_part      # チャンネルから PART した
    ・on_kick      # チャンネルから KICK された
    ・on_invite    # チャンネルへ招待された
    ・on_ctcp      # IRC SERVER から PING がきた
    ・on_mode      # モードを変更した
    ・on_nick      # ニックネームを変更した
    ・on_message   # ?
    
  8. 他にもIRC コマンドで on_hogehoge とメソッドを定義すればそのコマンドが実行されたタイミングで呼び出しが可能です.

TODO

  1. hpricot => Nokogiri
Something went wrong with that request. Please try again.