Client 関係のモジュール - Tiarra Documentation

# Client 関係のモジュール

## Client::Cache

データをキャッシュしてサーバに問い合わせないようにする

キャッシュを使用しても、使われるのは接続後最初の一度だけです。
二度目からは通常通りにサーバに問い合わせます。
また、クライアントオプションの no-cache を指定すれば動きません。

mode キャッシュを使用するか

use-mode-cache:1

who キャッシュを使用するか

use-who-cache:1

## Client::Conservative

サーバが送信するような IRC メッセージを作成するようにする

サーバが実際に送信しているようなメッセージにあわせるようにします。
多くのクライアントの設計ミスを回避でき(ると思われ)ます。

## Client::Cotton

Cotton の行うおかしな動作のいくつかを無視する

該当クライアントのオプション client-type に cotton や unknown と指定するか、
Client::GetVersion を利用してクライアントのバージョンを取得するように
してください。

part shield (rejoin 時に自動で行われる part の無視)を使用するか

use-part-shield:1

## Client::Eval

クライアントから Perl 式を実行できるようにする。

eval を実行するコマンド名。省略されるとコマンドを追加しません。
この時コマンドはTiarraが握り潰すので、IRCプロトコル上で定義された
コマンド名を設定すべきではありません。

command:eval

hex eval を実行するコマンド名。省略されるとコマンドを追加しません。
この時コマンドはTiarraが握り潰すので、IRCプロトコル上で定義された
コマンド名を設定すべきではありません。

hex-command:hexeval

表示する最大行数を指定します。省略するとすべての行を表示します。

max-line:30

## Client::GetVersion

クライアントに CTCP Version を発行してバージョン情報を得る

オプションはいまのところありません。
(開発者向け情報: 取得した情報は remark の client-version に設定され、
Client::Guess から使用されます。)

## Client::List

Clientの一覧を取得.

接続しているクライアントを一覧.
/clientlist を投げると, その時に接続しているクライアントの一覧を返す.
出力例:
clientlist
*** 1 client
*** [1] 127.0.0.1:23695

一覧を返すトリガーとするコマンド.

command:clientlist

## Client::PatchworkMessage

IRC メッセージにちょっと変更を加えて、クライアントのバグを抑制する

特に注意書きがない場合はデフォルトで有効です。
また、 Client::GetVersion も同時に入れておくと便利です。
とりあえず obsolete です。このモジュールで実装されていた機能は
Client::Conservative によって実現できます。
Client::Conservative で実装してはいけないようなものがあった場合のみ
このモジュールで対処します。

WoolChat:
対応しているメッセージ:
NICK(コロンが必須)
説明:
NICK は接続直後にも発行されるため、 Client::GetVersion での判別まで
待てません。該当クライアントのオプション client-type に woolchat と
指定してください。実名欄に $client-type=woolchat$ と書けば OK です。

enable-woolchat:1

X-Chat:
対応しているメッセージ:
RPL_WHOISUSER(コロンが必須)
説明:
WHOIS の realname にスペースが入っていないと最初の一文字が削られます。

enable-xchat:1

## Client::ProtectMyself

意図せず自分のニックが変わってしまうのを防止する

{nick,part,quit,join}-format: それぞれのメッセージのフォーマットを指定します。
{nick,user,host,prefix}.now などはどこでも使えます。
そのほかには
target : 表示するチャンネル(またはニック)。
nick.new : nick-format のみ。新しいニック。
message : part と quit 。メッセージ。

nick-format:Nick changed #(nick.now) -> #(nick.new)
part-format:Part #(nick.now) (#(message)) from #(target)
quit-format:Quit #(nick.now) (#(message))
join-format:Join #(nick.now) (#(prefix.now)) to #(target)

## Client::Rehash

全チャンネル分の names の内部キャッシュをクライアントに送信する。

もともとはクライアントの再初期化目的に作ったのですが、 names を送信しても
更新されないクライアントが多いので、主に multi-server-mode な Tiarra の
下にさらに Tiarra をつないでいる人向けにします。

names でニックリストを更新してくれるクライアント:
Tiarra
してくれないクライアント: (括弧内は確認したバージョンまたは注釈)
LimeChat(1.18)

nick rehash に使うコマンドを指定します。
第二パラメータとして現在クライアントが認識している nick を指定してください。

command-nick:rehash-nick

names rehash に使うコマンドを指定します。

command-names:rehash-names

チャンネルとチャンネルの間のウェイトを指定します。

interval:2

## Client::ShowNick

show network