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

# CTCP 関係のモジュール

## CTCP::ClientInfo

CTCP CLIENTINFOに応答する。

CTCP::Versionのintervalと同じ。

interval:3

## CTCP::DCC::RewriteAddress

クライアントが送信した CTCP DCC のアドレスを変換する。

CTCP DCC に指定されているアドレスを、 Tiarra で取得したものに
書き換えます。(EXPERIMENTAL)
IPv4 のみサポートしています。
このモジュールは一旦 CTCP DCC メッセージを破棄するので、
別のクライアントには送信されません。

変換する DCC タイプ。 [デフォルト値: CHAT SEND]

type:CHAT SEND

変換用アドレスの取得方法を選択する。デフォルト値はありません。
以下の取得方法(server-socket client-socket dns http)から
必要なもの(複数可)を指定してください。

resolver:client-socket server-socket dns http

取得方法と設定
なにも設定がないときはブロック自体を省略することもできます。

server-socket

サーバソケットのローカルアドレスを取ります。
client <-> tiarra[this address] <-> server

client-socket

クライアントソケットのリモートアドレスを取ります。
client [this address]<-> Tiarra <-> server

dns

DNS を引いて決定します。IPアドレスの指定も可能です。

host:example.com
http

現状では単純な GET しかサポートしていません。

アクセス先 URL

url:http://checkip.dyndns.org/

IP アドレス取得用 regex

regex:Current IP Address: (\d+\.\d+\.\d+\.\d+)

リゾルバの選び方
* Tiarra を動作させているサーバとインターネットの間にルータ等があり、
グローバルアドレスがない場合
*-socket は役に立ちません。 http を利用してください。
適当な DDNS を持っていればdns も良いでしょう。
* Tiarra がレンタルサーバなどLAN上にないサーバで動作している場合
server-socket, http は役に立ちません。
client-socket がお勧めです。
* Tiarra がLAN上にあり、グローバルアドレスのついているホストで
動作している場合
client-socket は役に立ちません。
server-socket がお勧めです。

## CTCP::Ping

CTCP PINGに応答する。

CTCP::Versionのintervalと同じ。

interval:3

## CTCP::Time

CTCP TIMEに応答する。

CTCP::Versionのintervalと同じ。

interval:3

## CTCP::UserInfo

CTCP USERINFOに応答する。

CTCP::Versionのintervalと同じ。

interval:3

USERINFOとして返すメッセージ。

message:テスト

## CTCP::Version

CTCP VERSIONに応答する。

連続したCTCPリクエストに対する応答の間隔。単位は秒。
例えば3秒に設定した場合、一度応答してから3秒間は
CTCPに一切応答しなくなる。デフォルトは3。
なお、CTCP受信時刻の記録は、全てのCTCPモジュールで共有される。
例えばCTCP VERSIONを送った直後にCTCP CLIENTINFOを送ったとしても、
CTCP::ClientInfoのintervalで設定された時間を過ぎていなければ
後者は応答しない。

interval:3