# -*- tiarra-conf -*-
# -----------------------------------------------------------------------------
# $Id: sample.conf.in 15771 2008-07-13 23:55:21Z drry $
# -----------------------------------------------------------------------------
# tiarra.conf サンプル
#
# Tiarraは起動時に全ての設定をこのファイルから取得します。
# このファイルの文字コードは任意ですが、改行コードはLFもしくはCRLFでなければなりません。
#
# 半角の#で始まる行はコメントとして無視されます。
# 行の途中に#を置いた場合はコメントにはなりません。
#
# 設定行は「設定名 : 値」の形式で指定されます。
# 行の先頭及び末尾、コロンの前後の空白は無視されます。
#
# 特に指定が無い場合、同じ設定を二度以上繰り返した時は最初に定義された設定が有効になります。
#
# ブロックごと省略した場合は、そのブロックの全ての値が省略されたものとみなします。
# ただし省略不可能な設定もありますので御注意下さい。
#
# 「@include foo.conf」という行があると、foo.confがその場所に
#  挿入されたかのように処理します。
#
# {}記号の位置には、それなりの自由度があります。
# 次の例は全て有効です。
# block {
#   foo: bar
# }
#
# block {}
#
# block
# {}
#
# 次の例は全て無効です。
# block {foo: bar}
#
# block
# {foo: bar}
# 
# block {
# foo: bar}
# 
# block
# {foo: bar
# }
# -----------------------------------------------------------------------------

# -----------------------------------------------------------------------------
# generalブロック
#
# tiarra.conf自身の文字コードやユーザー情報などを指定するブロックです。
# -----------------------------------------------------------------------------
<&general>

# -----------------------------------------------------------------------------
# networksブロック
#
# Tiarraから接続するIRCネットワークの名称です。
# 一つも定義しなかった場合やこのブロックを省略した場合は、
# "main"というネットワークが一つだけ指定されたものと見做します。
# -----------------------------------------------------------------------------
<&networks>

# -----------------------------------------------------------------------------
# 各ネットワークの設定
#
# networksブロックで定義した全てのネットワークについて、
# そのアドレス、ポート、(必要なら)パスワードを定義します。
# -----------------------------------------------------------------------------
<&ircnet>

<&2ch>

# -----------------------------------------------------------------------------
# 必須の設定は以上です。以下はモジュール(プラグイン)の設定です。
# -----------------------------------------------------------------------------

# +または-で始まる行はモジュール設定行と見做されます。
# +で記述されたモジュールが使用され、-で記述されたモジュールは使用されません。
# +や-の後の空白は幾つあっても無視されます。

#   メッセージが各モジュールを通過する順番は、このconfファイルで記述された
# 順番の通りになります。ログを取るモジュールなどはconfでも後の方に
# 記述した方が良いということになります。

#   モジュール名はperlのそれと同じようにディレクトリ区切り文字を「::」としたパスで表現されます。
# 例えばモジュールChannel::Auto::Operの実体はファイルmodule/Channel/Auto/Oper.pm
# でなければならず、そのpackage宣言もChannel::Auto::Operでなければなりません。
#   Tiarraモジュールの名称は、perl標準モジュール群やmain/下の.pmファイルと重複しないように
# 気を付けて下さい。Tiarraはモジュールが本当にModuleのサブクラスかどうかをチェックするので
# 例えばIO::Socket::INETといったモジュールを置いても誤動作はしませんが、
# そのようなモジュールはロード時にエラーを出して使用中止になります。

# 一つのモジュールを複数回定義して、何度も同じモジュールをメッセージが通過するようには出来ません。

# 幾つかのモジュールはパラメータとしてチャンネル名を必要とします。
# ここで指定するチャンネル名は、ネットワーク名も含めた文字列でなければなりません。
# 「#チャンネル」では駄目で「#チャンネル@ネットワーク」などとする必要があります。

# マスクの書式:
# ['+' / '-'] ( <マスク文字列> / "re:" 正規表現 )
# これはカンマで幾つでも継ぐ事が出来ます。"\,"でカンマそのものを表します。
# 先頭が+なら、それに続く部分にマッチするものが選ばれ、-なら除外されます。省略されたら+と見做されます。
# マスク文字列とは"*"で0文字以上の任意の文字列を、"?"で1文字の任意の文字列を表す文字列です。
# 例:
# tiarra*  これはtiarraで始まる文字列を表す。
# +*!*tiarra@*.jp,-re:\d  これは*!*tiarra@*.jpにマッチして、かつ文字列中に数字を含まないものを表す。

# このファイルには重要と思われるいくつかのモジュールしかありません。
# そのほかのモジュールについては、 all.conf から設定をコピーしてきてください。
<!begin:modules>
<&module>
<!end:modules>
