Channel 関係のモジュール


Channel::Freeze

特定のチャンネルの発言を、一時的に受信するのをやめる。

ログを取っているなら、ログには記録される。

チャンネルの凍結に用いるコマンド名。
省略時は freeze であり、/freeze #channel@network のように使う。
チャンネル名を省略すると、現在フリーズされているチャンネルのリストを表示する。

freeze-command:freeze

凍結解除に用いるコマンド名。
省略時は defrost であり、/defrost #channel@network のように使う。

defrost-command:defrost

凍結しているチャンネルが存在する時、一定時間毎にその旨を報告する事も可能。
この機能は凍結した事を忘れないようにする為にある。
単位は分、デフォルトはゼロ(報告しない)。

reminder-interval:30

Channel::Ignore

指定されたチャンネルの存在を、様々なメッセージから消去する。

対象となったチャンネルのJOIN、PART、INVITE、QUIT、NICK、NAMES、NJOINは消去される。

注意点
- この機能はまだ実装途中です。いろいろな不具合があるかもしれません。むしろきっとあります。
- サーバがわとの通信に割り込みますのでログにもとられません。
- この機能を使っている tiarra より上流に multi-server-mode な tiarra を置かないでください。

チャンネルの定義。
また、privの場合は「priv@ネットワーク名」という文字列をチャンネル名の代わりとしてマッチングを行なう。
書式: mask: <チャンネルのマスク>

mask:#example@example

Channel::Join::Connect

サーバーに初めて接続した時、指定したチャンネルに入るモジュール。

 書式: <チャンネル1>[,<チャンネル2>,...] [<チャンネル1のキー>,...]
     コンマの直後のスペースは無視されます。

 例:
   「#aaaaa@ircnet」に「aaaaa」というキーで入る。

channel:#aaaaa@ircnet aaaaa


   「#aaaaa@ircnet」、「#bbbbb@ircnet:*.jp」、「#ccccc@ircnet」、「#ddddd@ircnet」の4つのチャンネルに入る。

channel:#aaaaa@ircnet,#bbbbb@ircnet:*.jp, #ccccc@ircnet
channel:#ddddd@ircnet

Channel::Join::Invite

招待されたらそのチャンネルに入る。

許可するユーザ/チャンネルのマスク。

mask:* *!*@*

plum: *!*@*

招待されたチャンネルに流すメッセージのフォーマット。

message:こんばんわ〜。

Channel::Join::Kicked

特定のチャンネルからkickされた時に、自動で入りなおす。

対象となるチャンネル名のマスク

channel:*

Channel::Mode::Get

チャンネルにJOINした時、そのチャンネルのモードを取得します。

Channel::Mode::Set等が正しく動くためには
チャンネルのモードをTiarraが把握しておく必要があります。
自動的にモードを取得するクライアントであれば必要ありませんが、
そうでなければこのモジュールを使うべきです。

設定項目は無し。


Channel::Mode::Oper::Grant

特定のチャンネルに特定の人間がjoinした時に、自分がチャンネルオペレータ権限を持っていれば+oする。

splitからの復帰などで+o対象の人が一度に大量に入って来ても+oは少しずつ実行します。
Excess Floodにはならない筈ですが、本格的な防衛BOTに使える程の物ではありません。

対象の人間がjoinしてから実際に+oするまで何秒待つか。
省略されたら待ちません。
5-10 のように指定されると、その値の中でランダムに待ちます。

wait:2-5

チャンネルと人間のマスクを定義。Auto::Operと同様。

mask:* example!~example@*.example.ne.jp

Channel::Mode::Set

チャンネルを作成した時に自動的にモードを設定するモジュール。

書式は<チャンネル名にマッチするマスク> <設定するモード>[,<設定するモード>,...]です。
#IRC談話室@ircnetなら+t+nを、それ以外なら+nを設定する例。

channel:#IRC談話室@ircnet +t
channel:* +n

LimeChat 標準設定を模倣する設定例。

channel:* +sn

Channel::Rejoin

チャンネルオペレータ権限を無くしたとき、一人ならjoinし直す。

+チャンネルや+aされているチャンネル以外でチャンネルオペレータ権限を持たずに
一人きりになった時、そのチャンネルの@を復活させるために自動的にjoinし直すモジュール。
トピック、モード、banリスト等のあらゆるチャンネル属性をも保存します。

+b,+I,+eリストの復旧を行なうかどうか。
あまりに長いリストを取得するとMax Send-Q Exceedで落とされるかも知れません。

save-lists:1