auto/message.plm

オンラインドキュメント

### 名前

auto/message.plm - ユーザ間でメッセージの送受信を行えるようにする

### 説明

ユーザ間で相互にメッセージのやりとりができるようにします。 メッセージを送るための発言があると、その送り先とメッセージの内容を ファイルに保存します。ユーザがチャンネルに入ってきたり、ニックネームを 変更したときなどに、そのユーザ宛のメッセージがないかどうか確認し、 メッセージがあれば、メッセージがあることを伝えます。 メッセージの送り先は基本的にニックネームで指定する必要がありますが、 エイリアスを参照することで漢字を含んだ名前を使うこともできます。 メッセージを受けとるための発言があると、ファイルの中からそのユーザに 対して送られたメッセージを発言し、ファイルに保存されたメッセージを 削除します。送ったメッセージを相手が受けとったかどうか確認する方法は ありません。また、一度送ったメッセージは変更や削除することはできません。

### プロパティ

auto.message.file ファイル名[;({jis|euc|sjis})]
  メッセージを格納するファイルを指定します。このファイルは普通の テキストファイルで、一行につき一つのメッセージが保存されます。 漢字コードはデフォルトではjisで保存されますが、それ以外の 漢字コードで保存したい場合は、ファイル名の後にセミコロンで 区切って漢字コードを指定します。
auto.message.alias ファイル名[;({jis|euc|sjis})]
  エイリアスを参照するファイルを指定します。 適切にエイリアスを設定しておくことで、送り先にニックネームだけ ではなく、任意の名前を指定することができます。 また、送り元の名前もニックネームではなく、エイリアスとして 定義されている名前を使います。 このファイルはauto/alias.plmで扱えるファイルと同じ形式です。 ファイルの漢字コードがjis以外の場合は、その漢字コードを 指定する必要があります。
auto.message.get* 文字列
  メッセージを受けとるための文字列を指定します。 ここで指定した文字列と同じ文字列が発言されると、 その人に対して送られたメッセージをファイル中から 検索して発言します。
auto.message.send* 文字列
  メッセージを送るための文字列を指定します。 ここで指定した文字列に続けて送り先のニックネームか名前と メッセージの内容を空白で区切って発言することにより、 そのメッセージをファイルに保存します。
auto.message.check* 文字列
  メッセージが届いているかどうか確認するための文字列を指定します。 ここで指定した文字列と同じ文字列が発言されると、 その人に対して送られたメッセージがあるかどうか確認し、 その結果を発言します。
auto.message.date 文字列
  auto.message.formatで指定することのできる値のうち、 #(date)で置換される日付のフォーマットを指定します。 デフォルトでは「%m/%d %H:%M」となっています。
auto.message.format* フォーマット
  送り先にメッセージを送るときに、どのような形式で発言するかを 指定します。フォーマットに#(nick)のように書くことで、 メッセージを受けとる人のエイリアスの対応する値で置き換えます。 また、メッセージを送った人のエイリアスは#(from.nick)のような形式 で置換することができます。エイリアス以外の情報としては、 #(date)でメッセージを送った日付と時刻を、#(message)で メッセージの内容をそれぞれ置き換えます。 また、括弧内を「|」で区切って複数指定した場合、 最初に定義されている値で置き換えます。
auto.message.accept* フォーマット
  メッセージを正しく受け取ったときに、ここで指定したものを 発言します。フォーマットに#(nick)のように指定することで、 メッセージの送り元のエイリアスの対応する値で置き換えます。 また、#(to)でメッセージの送り先として指定した名前を、 #(to.nick)のように「to.」を付けることで、メッセージの送り先の エイリアスの対応する値で置き換えます。
auto.message.unknown* フォーマット
  メッセージを送る相手がわからないときに、ここで指定したものを 発言します。フォーマットに#(nick)のように指定することで、 メッセージの送り元のエイリアスの対応する値で置き換えます。 また、#(to)でメッセージを送ろうとした相手の名前に置き換えます。
auto.message.receive* フォーマット
  チャンネルに入ってきた時や、ニックネームを変更した時に、 その人に対するメッセージが届いていれば、ここで指定したものを 発言します。フォーマットに#(nick)のように指定することで、 メッセージの送り元のエイリアスの対応する値で置き換えます。 また、#(number)で届いているメッセージの数に置き換えます。
auto.message.nothing* フォーマット
  メッセージを受け取ろうとしたが、メッセージが 届いていなかったとき、ここで指定したものを発言します。 フォーマットに#(nick)のように指定することで、 エイリアスの対応する値で置き換えます。
auto.message.exists* フォーマット
  メッセージが届いているかどうか確認したときに、 届いているメッセージがあれば、ここで指定したものを発言します。

### 設定例

    + auto/message.plm
    auto.message.file: message.txt;jis
    auto.message.alias: alias.txt;jis,euc
    auto.message.get: 伝言教えて
    auto.message.send: 伝言
    auto.message.check: 伝言ある?
    auto.message.format: #(from.name|from.nick.now)さんから、「#(message)」
    auto.message.accept: #(to)さんへの伝言を覚えました
    auto.message.unknown: #(to)さんというのは誰ですか?
    auto.message.receive: #(number)個の伝言が届いています。「伝言教えて」でお伝えします。
    auto.message.nothing: #(name|nick.now)さんへの伝言はありません
    auto.message.exists: #(name|nick.now): #(number)個の伝言があります。

「伝言 pupu_j ほえほえ」のように発言すると、 「pupu_j」というニックネームの人に「ほえほえ」というメッセージを伝えます。 また「alias.txt」に指定されている名前を使って、 「伝言 ぷぷ ほえほえ」のようにしてメッセージを伝えることもできます。
メッセージが届いているときに、チャンネルに入ったり、 ニックネームを変更すると、「伝言が届いています。「伝言教えて」で見られます」 と言って知らせます。メッセージが届いているときに、 「伝言教えて」と発言すると、届いているメッセージを聞くことができます。