Skip to content

naoto/citrus-plugin

Repository files navigation

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

About

Citrus Plugins

IRC BOT Framework の Plugins

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages