root/lang/perl/tiarra/trunk/sample.conf @ 24337

Revision 24337, 38.9 kB (checked in by topia, 5 years ago)

commit documentation.

  • Property svn:mime-type set to text/plain; charset=UTF-8
  • Property svn:eol-style set to LF
Line 
1# -*- tiarra-conf -*-
2# -----------------------------------------------------------------------------
3# $Id: sample.conf.in 15771 2008-07-13 23:55:21Z drry $
4# -----------------------------------------------------------------------------
5# tiarra.conf サンプル
6#
7# Tiarraは起動時に全ての設定をこのファイルから取得します。
8# このファイルの文字コードは任意ですが、改行コードはLFもしくはCRLFでなければなりません。
9#
10# 半角の#で始まる行はコメントとして無視されます。
11# 行の途中に#を置いた場合はコメントにはなりません。
12#
13# 設定行は「設定名 : 値」の形式で指定されます。
14# 行の先頭及び末尾、コロンの前後の空白は無視されます。
15#
16# 特に指定が無い場合、同じ設定を二度以上繰り返した時は最初に定義された設定が有効になります。
17#
18# ブロックごと省略した場合は、そのブロックの全ての値が省略されたものとみなします。
19# ただし省略不可能な設定もありますので御注意下さい。
20#
21# 「@include foo.conf」という行があると、foo.confがその場所に
22#  挿入されたかのように処理します。
23#
24# {}記号の位置には、それなりの自由度があります。
25# 次の例は全て有効です。
26# block {
27#   foo: bar
28# }
29#
30# block {}
31#
32# block
33# {}
34#
35# 次の例は全て無効です。
36# block {foo: bar}
37#
38# block
39# {foo: bar}
40#
41# block {
42# foo: bar}
43#
44# block
45# {foo: bar
46# }
47# -----------------------------------------------------------------------------
48
49# -----------------------------------------------------------------------------
50# generalブロック
51#
52# tiarra.conf自身の文字コードやユーザー情報などを指定するブロックです。
53# -----------------------------------------------------------------------------
54general {
55  # tiarra.conf自身の文字コード
56  # コード名はjis,sjis,euc,utf8,utf16,utf32等。(この値はUnicode::Japaneseにそのまま渡されます)
57  # autoが指定された、または省略された場合は自動判別します。
58  conf-encoding: utf8
59
60  # ユーザー情報
61  # 省略不能です。
62  nick: tiarra
63  user: tiarra
64  name: Tiarra the "Aeon"
65
66  # どのようなユーザーモードでログインするか。+iwや+iのように指定する。
67  # 省略された場合はユーザーモードを特に設定しない。
68  #user-mode: +i
69
70  # Tiarraへの接続を許可するホスト名を表わすマスク。
71  # 制限をしないのであれば"*"を指定するか省略する。
72  client-allowed: *
73
74  # Tiarraが開くポート。ここに指定したポートへクライアントに接続させる。
75  # 省略されたらポートを開かない。
76  tiarra-port: 6667
77
78  # Tiarraがポートtiarra-portを開く際、IPv6とIPv4のどちらでリスニングを行なうか。
79  # 'v4'または'v6'で指定します。デフォルトは'v4'です。
80  # IPv6を使うためにはSocket6.pmが利用可能である必要があります。
81  #tiarra-ip-version: v4
82
83  # Tiarraがポートtiarra-portを開く際のローカルアドレス。
84  # 意味が分からなければ省略して下さい。
85  # デフォルトは、IPv4のはINADDR_ANY、IPv6のはin6addr_anyになります。
86  #tiarra-ipv4-bind-addr: 0.0.0.0
87  #tiarra-ipv6-bind-addr: ::0
88
89  # Tiarraにクライアントが接続する際に要求するパスワードをcryptした文字列。
90  # 空の文字列が指定されたり省略された場合はパスワードを要求しない。
91  # crypt は ./tiarra --make-password で行えます。
92  tiarra-password: xl7cflIcH9AwE
93
94  # 外部プログラムからTiarraをコントロールする為のUNIXドメインソケットの名前。
95  # 例えば"foo"を指定した場合、ソケット/tmp/tiarra-control/fooが作られる。
96  # 省略された場合はこの機能を無効とする。
97  # また、非UNIX環境ではそもそもUNIXドメインソケットが利用可能でないため、
98  # そのような場合にもこの機能は無効となる。
99  #control-socket-name: test
100
101  # IRCサーバーから送られる文字のコードと、IRCサーバーへ送る文字のコード
102  # どちらも省略された場合はjis。
103  server-in-encoding: jis
104  server-out-encoding: jis
105
106  # クライアントから受け取る文字のコードと、クライアントへ伝える文字のコード
107  # どちらも省略された場合はjis。
108  client-in-encoding: jis
109  client-out-encoding: jis
110
111  # Tiarraは標準出力に様々なメッセージを出力するが、その文字コードを指定する。省略時にはutf8となる。
112  # ただしtiarra.confのパースが完了するまでは文字コードの変換は行なわれない(つまりこの設定が有効にならない)ことに注意して下さい。
113  stdout-encoding: utf8
114
115  # Tiarraはエラーメッセージを標準出力に出力するが、その時に接続しているクライアントがあればクライアントにもNOTICEで送る事が出来る。
116  # この値を1にすると、その機能が有効になる。省略するか0を指定するとこの機能は無効になる。
117  notice-error-messages: 1
118
119  # Tiarraでチャンネルとユーザーのマスクを指定するときの形式。
120  # plum形式とTiarra形式が選択できます。
121  #-----------------
122  # plum形式: (channelには+や-は使えない。channelは省略すると*とみなす。)
123  #   + syntax: user[ channel[ channel[ ...]]]
124  #
125  #  mask: +*!*@*.example.com #{example}@ircnet +{example3}@ircnet
126  #  mask: -*!*@*.example.com #{example2}@2ch,+{example4}@2ch
127  #  mask: -*!*@*
128  #-----------------
129  # Tiarra形式: (channelにも+や-を使える。)
130  #   + syntax: channel user
131  #
132  #  mask: #{example}@ircnet,-#{example2}@2ch    +*!*@*.example.com
133  #  mask: ++{example3}@ircnet,-+{example4}@2ch  +*!*@*.example.com # +で始まるチャンネル。
134  #  mask: *                                     -*!*@*
135  #-----------------
136  # となります。 この二つはまったく同じマスクを表しています。
137
138  # この値をplumにすると、plum形式、省略するかtiarraを指定すると、Tiarra形式になります。
139  chanmask-mode: tiarra
140
141  # サーバーに接続する際、ローカル側のどのアドレスにバインドするか。
142  # 意味が分からなければ省略して下さい。
143  # デフォルトは、IPv4のはINADDR_ANY、IPv6のはin6addr_anyになります。
144  #ipv4-bind-addr: 0.0.0.0
145  #ipv6-bind-addr: ::0
146
147  # Tiarra が、 001 や 002 や、 recent log を送信するときなどに使う prefix
148  # を指定します。 hostname や fqdn っぽいものを指定すると良いかもしれません。
149  # デフォルトは tiarra です。普通変える必要はありません。
150  #sysmsg-prefix: tiarra
151
152  sysmsg-prefix-use-masks {
153    # sysmsg-prefix を使用する場所を指定する。
154
155    # システムメッセージ(NumericReply など)。デフォルトは * です。
156    # ふつうこれを変更する必要はありません。
157    system: *
158
159    # 個人宛メッセージ(Notice,Privmsg の中で)。デフォルトはなし。
160    #priv:
161
162    # チャンネル宛メッセージ(Notice,Privmsg の中で)。デフォルトは * です。
163    # Ziciz などのクライアントを接続する場合は、
164    # -*::log を指定しておくといいかもしれません。
165    channel: *
166  }
167
168  # Tiarra が nick 変更時の衝突等を処理するモードを指定します。
169  # 0: Tiarra が接続時と同様に自動処理します。
170  # 1: クライアントにそのまま投げます。
171  #    複数のクライアントが nick 重複を処理する場合は非常に危険です。
172  #    (設定不足の IRC クライアントが複数つながっている場合も含みます)
173  # 2: 対応するエラーメッセージ付きの NOTICE に変換して、
174  #    クライアントに投げます。
175  # multi-server-mode 時のデフォルトは 0 、 single-server-mode 時のデフォルトは 1 です。
176  #nick-fix-mode: 0
177
178  messages {
179    # Tiarra が使用する、いくつかのメッセージを指定する。
180
181    quit {
182      # ネットワーク設定が変更され、再接続する場合の切断メッセージ
183      netconf-changed-reconnect: Server Configuration changed; reconnect
184
185      # ネットワーク設定が変更され、切断する場合の切断メッセージ
186      netconf-changed-disconnect: Server Configuration changed; disconnect
187    }
188  }
189}
190
191# -----------------------------------------------------------------------------
192# networksブロック
193#
194# Tiarraから接続するIRCネットワークの名称です。
195# 一つも定義しなかった場合やこのブロックを省略した場合は、
196# "main"というネットワークが一つだけ指定されたものと見做します。
197# -----------------------------------------------------------------------------
198networks {
199  # 複数のサーバーへの接続を可能にするかどうか。1(オン)と0(オフ)で指定。
200  # これを1にすると、次のnameを複数個定義する事が可能になり、
201  # 複数のサーバーに同時に接続出来るようになります。
202  # その一方、これを1にしている時は、チャンネル名にネットワーク名が付加される等、
203  # IRCの大部分のメッセージがTiarraによる改変を受けます。
204  # これを0にしている間は、次のnameを複数個定義する事は出来なくなります。
205  # マルチサーバーモードの設定を起動中に変えると、クライアントから見たチャンネル名が
206  # 変更になる為、全クライアントが一時的に全てのチャンネルからpartしたように見え、
207  # その直後にjoinし直したように見えます。
208  # デフォルトでは1です。
209  multi-server-mode: 1
210
211  # 接続するIRCネットワークに名前を付けます。この名前は後で使用します。
212  # 複数のネットワークに接続したい場合は多重定義して下さい。
213  name: ircnet
214  name: 2ch
215
216  # 通常Tiarraではチャンネル名を「#Tiarra@ircnet」のように表現します。
217  # これはネットワークircnet内の#Tiarraというチャンネルを表わします。
218  # @以降は省略可能ですが、省略された場合のデフォルトのネットワーク名をここで指定します。
219  # 省略した場合は最も始めに定義されたnameがデフォルトになります。
220  # (そしてnameが一つも無かった場合はmainがデフォルトになります)
221  #default: ircnet
222
223  # 上に述べた通り、デフォルトではTiarraはチャンネル名とネットワーク名を@で区切ります。
224  # この区切り文字は任意の文字に変更する事が出来ます。省略された場合は@になります。
225  #
226  # System::PrivTranslator モジュールを利用している場合、 prefix の nick 部分にも
227  # 利用されます。そのため、 ! や @ を含む文字列を利用するとクライアントが誤作動する
228  # 場合がありますので注意してください。
229  channel-network-separator: @
230
231  # 接続先のサーバーから切断された時に、joinしていたそのサーバーのチャンネルをどうするか。
232  # 1. "part-and-join"の場合は、切断されるとクライアントにはチャンネルからpartしたように見せ掛け、
233  #    再接続に成功すると再びjoinしたように見せ掛ける。最も負荷が高い。(これはplumに似た動作である)
234  # 2. "one-message"の場合は、切断されるとクライアントに宛ててTiarraがNOTICEでその旨を報告する。
235  #    再接続に成功すると再びNOTICEで報告する。JOINやPARTはしないので、
236  #    クライアントからはまだそのチャンネルに残っているかのように見える。
237  # 3. "message-for-each"の場合は、切断されるとクライアントに宛ててTiarraが
238  #    到達不能になった全てのチャンネルにNOTICEでその旨を報告する。
239  #    再接続に成功すると再びNOTICEで報告する。JOINやPARTはしない。
240  # デフォルトはpart-and-joinです。
241  action-when-disconnected: message-for-each
242
243  # NICKを変更する度に、変更したサーバーでの新しいNICKをNOTICEで常に通知するかどうか。
244  # 1なら必ず通知し、0なら変更後のnickがローカルnick(クライアントが見る事の出来るnick)と違っている場合のみ通知する。
245  # デフォルトは0です。
246  always-notify-new-nick: 0
247
248  fixed-channels {
249    # Tiarra がクライアント接続時にチャンネル情報を送る順番を指定する。
250    # マッチしなかったチャンネルについては最後にまとめて
251    # (順番がごちゃごちゃになって)送られてきます。
252    channel: #てすとちゃんねる@ircnet
253    channel: #てすと@localserver
254    channel: *@localserver
255    channel: *@localserver:*.jp
256  }
257}
258
259# -----------------------------------------------------------------------------
260# 各ネットワークの設定
261#
262# networksブロックで定義した全てのネットワークについて、
263# そのアドレス、ポート、(必要なら)パスワードを定義します。
264# -----------------------------------------------------------------------------
265ircnet {
266  # サーバーのホストとポートを指定。複数行可。(host/port が指定されていない場合は)省略不可。
267  # 同じサーバの複数のポート指定は順番に試すので、大量に書かない方がよい。
268  server: irc.nara.wide.ad.jp 6662 6663
269  server: irc.fujisawa.wide.ad.jp 6661 6664
270
271  # サーバーのホストとポート。(server が指定されていない場合は)省略不可。
272  # server を指定した場合は server が優先されます。
273  #host: irc.nara.wide.ad.jp
274  #port: 6663
275
276  # general/userで設定したユーザ名を使わずに、各ネットワークで独自のユーザ名を使用する事も可能。
277  # 省略されたら当然、general/userで設定したものが使われる。
278  #user: hoge
279
280  # general/nameで設定した本名(建前上)を使わずに、各ネットワークで独自の本名を使用可能。
281  #name: hoge
282
283  # このサーバーの要求するパスワード。省略可能。
284  #password: hoge
285
286  # general/setver-in/out-encodingで設定したエンコーディングを使わずに、
287  # 各ネットワークで独自のエンコーディングを使用する事も可能。
288  # 省略されたら当然、generalで設定したものが使われる。
289  #in-encoding: jis
290  #out-encoding: jis
291
292  # general/(ipv4|ipv6)bind-addrで設定したローカルアドレスを使わずに、
293  # 各ネットワークで独自のbind_addrを使用する事も可能。
294  # 省略されたらgeneralで設定したものが使われる。
295  #ipv4-bind-addr: 0.0.0.0
296  #ipv6-bind-addr: ::0
297}
298
2992ch {
300  host: irc.2ch.net
301  port: 6667
302}
303
304# -----------------------------------------------------------------------------
305# 必須の設定は以上です。以下はモジュール(プラグイン)の設定です。
306# -----------------------------------------------------------------------------
307
308# +または-で始まる行はモジュール設定行と見做されます。
309# +で記述されたモジュールが使用され、-で記述されたモジュールは使用されません。
310# +や-の後の空白は幾つあっても無視されます。
311
312#   メッセージが各モジュールを通過する順番は、このconfファイルで記述された
313# 順番の通りになります。ログを取るモジュールなどはconfでも後の方に
314# 記述した方が良いということになります。
315
316#   モジュール名はperlのそれと同じようにディレクトリ区切り文字を「::」としたパスで表現されます。
317# 例えばモジュールChannel::Auto::Operの実体はファイルmodule/Channel/Auto/Oper.pm
318# でなければならず、そのpackage宣言もChannel::Auto::Operでなければなりません。
319#   Tiarraモジュールの名称は、perl標準モジュール群やmain/下の.pmファイルと重複しないように
320# 気を付けて下さい。Tiarraはモジュールが本当にModuleのサブクラスかどうかをチェックするので
321# 例えばIO::Socket::INETといったモジュールを置いても誤動作はしませんが、
322# そのようなモジュールはロード時にエラーを出して使用中止になります。
323
324# 一つのモジュールを複数回定義して、何度も同じモジュールをメッセージが通過するようには出来ません。
325
326# 幾つかのモジュールはパラメータとしてチャンネル名を必要とします。
327# ここで指定するチャンネル名は、ネットワーク名も含めた文字列でなければなりません。
328# 「#チャンネル」では駄目で「#チャンネル@ネットワーク」などとする必要があります。
329
330# マスクの書式:
331# ['+' / '-'] ( <マスク文字列> / "re:" 正規表現 )
332# これはカンマで幾つでも継ぐ事が出来ます。"\,"でカンマそのものを表します。
333# 先頭が+なら、それに続く部分にマッチするものが選ばれ、-なら除外されます。省略されたら+と見做されます。
334# マスク文字列とは"*"で0文字以上の任意の文字列を、"?"で1文字の任意の文字列を表す文字列です。
335# 例:
336# tiarra*  これはtiarraで始まる文字列を表す。
337# +*!*tiarra@*.jp,-re:\d  これは*!*tiarra@*.jpにマッチして、かつ文字列中に数字を含まないものを表す。
338
339# このファイルには重要と思われるいくつかのモジュールしかありません。
340# そのほかのモジュールについては、 all.conf から設定をコピーしてきてください。
341
342- Auto::Oper {
343  # 特定の文字列を発言した人を+oする。
344
345  # Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。
346
347  # +oを要求する文字列(マスク)を指定します。
348  request: なると寄越せ
349
350  # チャンネルオペレータ権限を要求した人と要求されたチャンネルが
351  # ここで指定したマスクに一致しなかった場合は
352  # denyで指定した文字列を発言し、+oをやめます。
353  # 省略された場合は誰にも+oしません。
354  # 書式は「チャンネル 発言者」です。
355  # マッチングのアルゴリズムは次の通りです。
356  # 1. チャンネル名にマッチするmask定義を全て集める
357  # 2. 集まった定義の発言者マスクを、定義された順にカンマで結合する
358  # 3. そのようにして生成されたマスクで発言者のマッチングを行ない、結果を+o可能性とする。
359  # 例1:
360  # mask: *@2ch* *!*@*
361  # mask: #*@ircnet* *!*@*.hoge.jp
362  # この例ではネットワーク 2ch の全てのチャンネルで誰にでも +o し、
363  # ネットワーク ircnet の # で始まる全てのチャンネルでホスト名 *.hoge.jp の人に+oします。
364  # #*@ircnetだと「#hoge@ircnet:*.jp」などにマッチしなくなります。
365  # 例2:
366  # mask: #hoge@ircnet -*!*@*,+*!*@*.hoge.jp
367  # mask: *            +*!*@*
368  # 基本的に全てのチャンネルで誰にでも +o するが、例外的に#hoge@ircnetでは
369  # ホスト名 *.hoge.jp の人にしか +o しない。
370  # この順序を上下逆にすると、全てのチャンネルで全ての人を +o する事になります。
371  # 何故なら最初の* +*!*@*が全ての人にマッチするからです。
372  mask: * *!*@*
373
374  # +oを要求した人を実際に+oする時、ここで指定した発言をしてから+oします。
375  # #(name|nick)のようなエイリアス置換を行います。
376  # エイリアス以外でも、#(nick.now)を相手のnickに、#(channel)を
377  # そのチャンネル名にそれぞれ置換します。
378  message: 了解
379
380  # +oを要求されたが+oすべき相手ではなかった場合の発言。
381  # 省略されたら何も喋りません。
382  deny: 断わる
383
384  # +oを要求されたが相手は既にチャンネルオペレータ権限を持っていた場合の発言。
385  # 省略されたらdenyに設定されたものを使います。
386  oper: 既に@を持っている
387
388  # +oを要求されたが自分はチャンネルオペレータ権限を持っていなかった場合の発言。
389  # 省略されたらdenyに設定されたものを使います。
390  not-oper: @が無い
391
392  # チャンネルに対してでなく自分に対して+oの要求を行なった場合の発言。
393  # 省略されたらdenyに設定されたものを使います。
394  private: チャンネルで要求せよ
395
396  # チャンネルの外から+oを要求された場合の発言。+nチャンネルでは起こりません。
397  # 省略されたらdenyに設定されたものを使います。
398  out: チャンネルに入っていない
399}
400
401- CTCP::ClientInfo {
402  # CTCP CLIENTINFOに応答する。
403
404  # CTCP::Versionのintervalと同じ。
405  interval: 3
406}
407
408- CTCP::DCC::RewriteAddress {
409  # クライアントが送信した CTCP DCC のアドレスを変換する。
410
411  # CTCP DCC に指定されているアドレスを、 Tiarra で取得したものに
412  # 書き換えます。(EXPERIMENTAL)
413  #
414  # IPv4 のみサポートしています。
415  #
416  # このモジュールは一旦 CTCP DCC メッセージを破棄するので、
417  # 別のクライアントには送信されません。
418
419  # 変換する DCC タイプ。 [デフォルト値: CHAT SEND]
420  type: CHAT SEND
421
422  # 変換用アドレスの取得方法を選択する。デフォルト値はありません。
423  # 以下の取得方法(server-socket client-socket dns http)から
424  # 必要なもの(複数可)を指定してください。
425  resolver: client-socket server-socket dns http
426
427
428  # 取得方法と設定
429  # なにも設定がないときはブロック自体を省略することもできます。
430
431  server-socket {
432    # サーバソケットのローカルアドレスを取ります。
433    # client <-> tiarra[this address] <-> server
434  }
435
436  client-socket {
437    # クライアントソケットのリモートアドレスを取ります。
438    # client [this address]<-> Tiarra <-> server
439  }
440
441  dns {
442    # DNS を引いて決定します。IPアドレスの指定も可能です。
443    host: example.com
444  }
445
446  http {
447    # 現状では単純な GET しかサポートしていません。
448
449    # アクセス先 URL
450    url: http://checkip.dyndns.org/
451
452    # IP アドレス取得用 regex
453    regex: Current IP Address: (\d+\.\d+\.\d+\.\d+)
454  }
455
456  # リゾルバの選び方
457  #
458  #  * Tiarra を動作させているサーバとインターネットの間にルータ等があり、
459  #    グローバルアドレスがない場合
460  #      *-socket は役に立ちません。 http を利用してください。
461  #      適当な DDNS を持っていればdns も良いでしょう。
462  #
463  #  * Tiarra がレンタルサーバなどLAN上にないサーバで動作している場合
464  #      server-socket, http は役に立ちません。
465  #      client-socket がお勧めです。
466  #
467  #  * Tiarra がLAN上にあり、グローバルアドレスのついているホストで
468  #    動作している場合
469  #      client-socket は役に立ちません。
470  #      server-socket がお勧めです。
471}
472
473- CTCP::Ping {
474  # CTCP PINGに応答する。
475
476  # CTCP::Versionのintervalと同じ。
477  interval: 3
478}
479
480- CTCP::Time {
481  # CTCP TIMEに応答する。
482
483  # CTCP::Versionのintervalと同じ。
484  interval: 3
485}
486
487- CTCP::UserInfo {
488  # CTCP USERINFOに応答する。
489
490  # CTCP::Versionのintervalと同じ。
491  interval: 3
492
493  # USERINFOとして返すメッセージ。
494  message: テスト
495}
496
497+ CTCP::Version {
498  # CTCP VERSIONに応答する。
499
500  # 連続したCTCPリクエストに対する応答の間隔。単位は秒。
501  # 例えば3秒に設定した場合、一度応答してから3秒間は
502  # CTCPに一切応答しなくなる。デフォルトは3。
503  #
504  # なお、CTCP受信時刻の記録は、全てのCTCPモジュールで共有される。
505  # 例えばCTCP VERSIONを送った直後にCTCP CLIENTINFOを送ったとしても、
506  # CTCP::ClientInfoのintervalで設定された時間を過ぎていなければ
507  # 後者は応答しない。
508  interval: 3
509}
510
511- Channel::Join::Connect {
512  # サーバーに初めて接続した時、指定したチャンネルに入るモジュール。
513
514  # 書式: <チャンネル1>[,<チャンネル2>,...] [<チャンネル1のキー>,...]
515  #     コンマの直後のスペースは無視されます。
516  #
517  # 例:
518  #   「#aaaaa@ircnet」に「aaaaa」というキーで入る。
519  #channel: #aaaaa@ircnet aaaaa
520  #
521  #   「#aaaaa@ircnet」、「#bbbbb@ircnet:*.jp」、「#ccccc@ircnet」、「#ddddd@ircnet」の4つのチャンネルに入る。
522  #channel: #aaaaa@ircnet,#bbbbb@ircnet:*.jp, #ccccc@ircnet
523  #channel: #ddddd@ircnet
524}
525
526- Channel::Join::Invite {
527  # 招待されたらそのチャンネルに入る。
528
529  # 許可するユーザ/チャンネルのマスク。
530  mask: * *!*@*
531  # plum: *!*@*
532
533  # 招待されたチャンネルに流すメッセージのフォーマット。
534  #message: こんばんわ〜。
535}
536
537- Channel::Join::Kicked {
538  # 特定のチャンネルからkickされた時に、自動で入りなおす。
539
540  # 対象となるチャンネル名のマスク
541  channel: *
542}
543
544- Channel::Mode::Get {
545  # チャンネルにJOINした時、そのチャンネルのモードを取得します。
546
547  # Channel::Mode::Set等が正しく動くためには
548  # チャンネルのモードをTiarraが把握しておく必要があります。
549  # 自動的にモードを取得するクライアントであれば必要ありませんが、
550  # そうでなければこのモジュールを使うべきです。
551
552  # 設定項目は無し。
553}
554
555- Channel::Mode::Oper::Grant {
556  # 特定のチャンネルに特定の人間がjoinした時に、自分がチャンネルオペレータ権限を持っていれば+oする。
557
558  # splitからの復帰などで+o対象の人が一度に大量に入って来ても+oは少しずつ実行します。
559  # Excess Floodにはならない筈ですが、本格的な防衛BOTに使える程の物ではありません。
560
561  # 対象の人間がjoinしてから実際に+oするまで何秒待つか。
562  # 省略されたら待ちません。
563  # 5-10 のように指定されると、その値の中でランダムに待ちます。
564  wait: 2-5
565
566  # チャンネルと人間のマスクを定義。Auto::Operと同様。
567  #mask: * example!~example@*.example.ne.jp
568}
569
570- Channel::Mode::Set {
571  # チャンネルを作成した時に自動的にモードを設定するモジュール。
572
573  # 書式は<チャンネル名にマッチするマスク> <設定するモード>[,<設定するモード>,...]です。
574  # #IRC談話室@ircnetなら+t+nを、それ以外なら+nを設定する例。
575  #channel: #IRC談話室@ircnet +t
576  #channel: *                +n
577  # LimeChat 標準設定を模倣する設定例。
578  #channel: * +sn
579}
580
581- Channel::Rejoin {
582  # チャンネルオペレータ権限を無くしたとき、一人ならjoinし直す。
583
584  # +チャンネルや+aされているチャンネル以外でチャンネルオペレータ権限を持たずに
585  # 一人きりになった時、そのチャンネルの@を復活させるために自動的にjoinし直すモジュール。
586  # トピック、モード、banリスト等のあらゆるチャンネル属性をも保存します。
587
588  # +b,+I,+eリストの復旧を行なうかどうか。
589  # あまりに長いリストを取得するとMax Send-Q Exceedで落とされるかも知れません。
590  save-lists: 1
591}
592
593- Client::Cache {
594  # データをキャッシュしてサーバに問い合わせないようにする
595
596  # キャッシュを使用しても、使われるのは接続後最初の一度だけです。
597  # 二度目からは通常通りにサーバに問い合わせます。
598  # また、クライアントオプションの no-cache を指定すれば動きません。
599
600  # mode キャッシュを使用するか
601  use-mode-cache: 1
602
603  # who キャッシュを使用するか
604  use-who-cache: 1
605}
606
607+ Client::Conservative {
608  # サーバが送信するような IRC メッセージを作成するようにする
609
610  # サーバが実際に送信しているようなメッセージにあわせるようにします。
611  # 多くのクライアントの設計ミスを回避でき(ると思われ)ます。
612}
613
614- Client::Cotton {
615  # Cotton の行うおかしな動作のいくつかを無視する
616
617  # 該当クライアントのオプション client-type に cotton や unknown と指定するか、
618  # Client::GetVersion を利用してクライアントのバージョンを取得するように
619  # してください。
620
621  # part shield (rejoin 時に自動で行われる part の無視)を使用するか
622  use-part-shield: 1
623}
624
625+ Client::GetVersion {
626  # クライアントに CTCP Version を発行してバージョン情報を得る
627
628  # オプションはいまのところありません。
629  # (開発者向け情報: 取得した情報は remark の client-version に設定され、
630  #                  Client::Guess から使用されます。)
631}
632
633- Log::Channel {
634  # チャンネルやprivのログを取るモジュール。
635
636  # Log系のモジュールでは、以下のように日付や時刻の置換が行なわれる。
637  # %% : %
638  # %Y : 年(4桁)
639  # %m : 月(2桁)
640  # %d : 日(2桁)
641  # %H : 時間(2桁)
642  # %M : 分(2桁)
643  # %S : 秒(2桁)
644
645  # ログを保存するディレクトリ。Tiarraが起動した位置からの相対パス。~指定は使えない。
646  directory: log
647
648  # ログファイルの文字コード。省略されたらjis。
649  charset: utf8
650
651  # 各行のヘッダのフォーマット。省略されたら'%H:%M'。
652  header: %H:%M:%S
653
654  # ファイル名のフォーマット。省略されたら'%Y.%m.%d.txt'
655  filename: %Y.%m.%d.txt
656
657  # ログファイルのモード(8進数)。省略されたら600
658  mode: 600
659
660  # ログディレクトリのモード(8進数)。省略されたら700
661  dir-mode: 700
662
663  # ログを取るコマンドを表すマスク。省略されたら記録出来るだけのコマンドを記録する。
664  command: privmsg,join,part,kick,invite,mode,nick,quit,kill,topic,notice
665
666  # PRIVMSGとNOTICEを記録する際に、自分の発言と他人の発言でフォーマットを変えるかどうか。1/0。デフォルトで1。
667  distinguish-myself: 1
668
669  # 各ログファイルを開きっぱなしにするかどうか。
670  # このオプションは多くの場合、ディスクアクセスを抑えて効率良くログを保存しますが
671  # ログを記録すべき全てのファイルを開いたままにするので、50や100のチャンネルを
672  # 別々のファイルにログを取るような場合には使うべきではありません。
673  # 万一 fd があふれた場合、クライアントから(またはサーバへ)接続できない・
674  # 新たなモジュールをロードできない・ログが全然できないなどの症状が起こる可能性が
675  # あります。limit の詳細については OS 等のドキュメントを参照してください。
676  #keep-file-open: 1
677
678  # keep-file-open 時に各行ごとに flush するかどうか。
679  # open/close の負荷は気になるが、ログは失いたくない人向け。
680  # keep-file-open が有効でないなら無視され(1になり)ます。
681  #always-flush: 0
682
683  # keep-file-openを有効にした場合、発言の度にログファイルに追記するのではなく
684  # 一定の分量が溜まってから書き込まれる。そのため、ファイルを開いても
685  # 最近の発言はまだ書き込まれていない可能性がある。
686  # syncを設定すると、即座にログをディスクに書き込むためのコマンドが追加される。
687  # 省略された場合はコマンドを追加しない。
688  sync: sync
689
690  # 各チャンネルの設定。チャンネル名の部分はマスクである。
691  # 個人宛てに送られたPRIVMSGやNOTICEはチャンネル名"priv"として検索される。
692  # 記述された順序で検索されるので、全てのチャンネルにマッチする"*"などは最後に書かなければならない。
693  # 指定されたディレクトリが存在しなかったら、Log::Channelはそれを勝手に作る。
694  # フォーマットは次の通り。
695  # channel: <ディレクトリ名> (<チャンネル名> / 'priv')
696  # 例:
697  # filename: %Y.%m.%d.txt
698  # channel: IRCDanwasitu #IRC談話室@ircnet
699  # channel: others *
700  # この例では、#IRC談話室@ircnetのログはIRCDanwasitu/%Y.%m.%d.txtに、
701  # それ以外(privも含む)のログはothers/%Y.%m.%d.txtに保存される。
702  # #(channel) はチャンネル名に展開される。
703  # (古いバージョンだと展開されずにそのままディレクトリ名になってしまいます。)
704  channel: priv priv
705  channel: #(channel) *
706  #channel: others *
707
708  # ファイル名のエンコーディング.
709  # 指定可能な値は, utf8, sjis, euc, jis, ascii.
710  # ascii は実際には utf8 と同等で8bit部分が全てquoted-printableされる.
711  # デフォルトはWindowsではsjis, それ以外では utf8.
712  #filename-encoding: utf8
713}
714
715- Log::Recent {
716  # クライアントを接続した時に、保存しておいた最近のメッセージを送る。
717
718  # クライアントオプションの no-recent-logs が指定されていれば送信しません。
719
720  # 各行のヘッダのフォーマット。省略されたら'%H:%M'。
721  header: %H:%M:%S
722
723  # ログをチャンネル毎に何行まで保存するか。省略されたら10。
724  line: 15
725
726  # PRIVMSGとNOTICEを記録する際に、自分の発言と他人の発言でフォーマットを変えるかどうか。1/0。デフォルトで1。
727  distinguish-myself: 1
728
729  # どのメッセージを保存するか。省略されたら保存可能な全てのメッセージを保存する。
730  command: privmsg,notice,topic,join,part,quit,kill
731}
732
733+ System::Error {
734  # サーバーからのERRORメッセージをNOTICEに埋め込む
735
736  # これをoffにするとクライアントにERRORメッセージがそのまま送られます。
737  # クライアントとの間ではERRORメッセージは主に切断警告に使われており、
738  # そのまま流してしまうとクライアントが混乱する可能性があります。
739  #   設定項目はありません。
740
741  # このモジュールを回避してERRORメッセージをクライアントに送りたい場合は、
742  # remarkのsend-error-as-is-to-clientを指定してください。
743}
744
745- System::NotifyIcon::Win32 {
746  # タスクトレイにアイコンを表示する。
747
748  # タスクトレイにアイコンを表示します。
749  # クリックすると表示非表示を切り替えることができ、右クリックすると
750  # Reload と Exit ができるコンテキストメニューを表示します。
751  # 多少反応が鈍いかもしれませんがちょっと待てば出てくると思います。
752
753  # Win32::GUI を必要とします。
754  # コンテキストメニューは表示している間処理をブロックしています。
755
756  # Win32 イベントループを処理する最大間隔を指定します。
757  #interval: 2
758
759  # 通知領域に表示するアイコンを指定します。
760  # Win32::GUI の制限でちゃんとしたアイコンファイルしか指定できません。
761  iconfile: guiperl.ico
762
763  # モジュールが読み込まれたときにコンソールウィンドウを隠すかどうかを
764  # 指定します。
765  hide-console-on-load: 1
766}
767
768+ System::Pong {
769  # サーバーからのPINGメッセージに対し、自動的にPONGを返す。
770
771  # これをoffにするとクライアントが自らPINGに応答せざるを得なくなりますが、
772  # クライアントからのPONGメッセージはデフォルトのサーバーへ送られるので
773  # デフォルト以外のサーバーからはPing Timeoutで落とされるなど
774  # 全く良い事がありません。
775  #   設定項目はありません。
776}
777
778+ System::PrivTranslator {
779  # クライアントからの個人的なprivが相手に届かなくなる現象を回避する。
780
781  # このモジュールは個人宛てのprivmsgの送信者のnickにネットワーク名を付加します。
782  # また、最後に声をかけられてから5分以内の nick 変更をクライアントに伝えます。
783  # 設定項目はありませんが、 networks/channel-network-separator を ! や @ 以外に
784  # 変更することをおすすめします。
785}
786
787+ System::Reload {
788  # confファイルやモジュールの更新をリロードするコマンドを追加する。
789
790  # リロードを実行するコマンド名。省略されるとコマンドを追加しません。
791  # 例えば"load"を設定すると、"/load"と発言しようとした時にリロードを実行します。
792  # この時コマンドはTiarraが握り潰すので、IRCプロトコル上で定義された
793  # コマンド名を設定すべきではありません。
794  command: load
795
796  # command と同じですが、サーバにもブロードキャストします。
797  #broadcast-command: load-all
798
799  # confファイルをリロードしたときに通知します。
800  # モジュールの設定が変更されていた場合は、ここでの設定にかかわらず、
801  # モジュールごとに表示されます。1または省略された場合は通知します。
802  conf-reloaded-notify: 1
803}
804
805- User::Away::Client {
806  # クライアントが一つも接続されていない時にAWAYを設定します。
807
808  # どのようなAWAYメッセージを設定するか。省略された場合はAWAYを設定しません。
809  #away: 居ない。
810}
811
812- User::Away::Nick {
813  # ニックネーム変更に応じて AWAY を設定します。
814
815  # ニックネームを変更したときに、そのニックネームに対応するAWAYが
816  # 設定されていれば、そのAWAYを設定します。そうでなければAWAYを取り消します。
817
818  # 書式: <nickのマスク> <設定するAWAYメッセージ>
819  #
820  # nickをhoge_zzzに変更すると、「寝ている」というAWAYを設定する。
821  # hoge_workまたはhoge_zzzに変更した場合は、「仕事中」というAWAYを設定する。
822  # それ以外のnickに変更した場合はAWAYを取り消す。
823  # 後者は正規表現を利用して「away: re:hoge_(work|zzz) 仕事中」としても良い。
824  #away: hoge_zzz           寝ている
825  #away: hoge_work,hoge_zzz 仕事中
826}
827
828- User::Nick::Detached {
829  # クライアントが接続されていない時に、特定のnickに変更します。
830
831  # クライアントが接続されていない時のnick。
832  # このnickが既に使われていたら、適当に変更が加えられて使用されます。
833  # クライアントが再び接続されると、切断前のローカルnickに戻ります。
834  detached: PHO_d
835}
836
Note: See TracBrowser for help on using the browser.