root/lang/perl/tiarra/trunk/doc/module/Auto.html @ 12298

Revision 12298, 45.8 kB (checked in by hio, 5 years ago)

ドキュメント系更新.

  • Property svn:mime-type set to text/html; charset=UTF-8
  • Property svn:eol-style set to LF
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html
3          PUBLIC "-//W3C//DTD XHTML 1.1//EN"
4          "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
5<!-- $Id: contents.html 11393 2008-05-11 06:56:12Z topia $ -->
6<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
7  <head>
8    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
9    <title>Auto 関係のモジュール - Tiarra Documentation</title>
10    <link rel="stylesheet" type="text/css" href="../default.css" />
11  </head>
12  <body>
13    <div class="header">
14      <h1>Auto 関係のモジュール</h1>
15    </div>
16
17    <hr class="sep" />
18
19    <div class="pane-main">
20     
21      <div id="module-Auto::Alias" class="module">
22        <div class="module-header"><h2 title="ユーザエイリアス情報の管理を行ないます。">Auto::Alias</h2>
23          <span class="description">ユーザエイリアス情報の管理を行ないます。</span></div>
24        <div class="content">
25          <p class="comment">
26エイリアスは基本的にname,userの二つのフィールドから成っており、<br />
27それぞれユーザー名、ユーザーマスクを表します。<br />
28</p>
29<p class="comment">
30&nbsp;エイリアス定義ファイルのパスと、そのエンコーディング。<br />
31&nbsp;このファイルは次のようなフォーマットである。<br />
32&nbsp;1. それぞれの行は「&lt;キー&gt;: &lt;値&gt;」の形式である。<br />
33&nbsp;2. 空の行で、各ユーザーを区切る。<br />
34&nbsp;3. &lt;値&gt;はカンマで区切られて複数の値とされる。<br />
35<br />
36&nbsp;エイリアス定義ファイルの例:<br />
37<br />
38&nbsp;name: sample<br />
39&nbsp;user: *!*sample@*.sample.net<br />
40<br />
41&nbsp;name: sample2,[sample2]<br />
42&nbsp;user: *!sample2@*.sample.net,*!sample2@*.sample2.net<br />
43<br />
44</p>
45<div class="element"><span class="key">alias</span>:<span class="value">alias.txt</span></div>
46<div class="element"><span class="key">alias-encoding</span>:<span class="value">euc</span></div>
47<p class="comment">
48この発言をした人のエイリアスが登録されていれば、それをprivで送る。<br />
49</p>
50<div class="element"><span class="key">confirm</span>:<span class="value">エイリアス確認</span></div>
51<p class="comment">
52「&lt;addで指定したキーワード&gt; user *!*user@*.user.net」のようにして情報を追加。<br />
53発言をした人のエイリアスが未登録だった場合は、userのみ受け付けて新規追加とする。<br />
54</p>
55<div class="element"><span class="key">add</span>:<span class="value">エイリアス追加</span></div>
56<p class="comment">
57「&lt;removeで指定したキーワード&gt; name ユーザー」のようにして情報を削除。<br />
58userを全て削除されたエイリアスは他の情報(name等)も含めて消滅する。<br />
59</p>
60<div class="element"><span class="key">remove</span>:<span class="value">エイリアス削除</span></div>
61<p class="comment">
62メッセージが追加されたときの反応を指定します。<br />
63ランダムなメッセージを発言する際のフォーマットを指定します。<br />
64エイリアス置換が有効です。#(nick.now)、#(channel)は<br />
65それぞれ相手のnick、チャンネル名に置換されます。<br />
66#(key)、#(value)は、追加されたキーと値に置換されます。<br />
67</p>
68<div class="element"><span class="key">added-format</span>:<span class="value">#(name|nick.now): エイリアス #(key) に #(value) を追加しました。</span></div>
69<div class="element"><span class="key">add-failed-format</span>:<span class="value">#(name|nick.now): エイリアス #(key) の追加に失敗しました。</span></div>
70<p class="comment">
71メッセージが削除されたときの反応を指定します。<br />
72added-formatで指定できるものと同じです。<br />
73</p>
74<div class="element"><span class="key">removed-format</span>:<span class="value">#(name|nick.now): エイリアス #(key) から #(value) を削除しました。</span></div>
75<div class="element"><span class="key">remove-failed-format</span>:<span class="value">#(name|nick.now): エイリアス #(key) からの削除に失敗しました。</span></div>
76<p class="comment">
77エイリアスの追加や削除が許されている人。省略された場合は「*!*@*」と見做される。<br />
78</p>
79<div class="element"><span class="key">modifier</span>:<span class="value">*!*@*</span></div>
80
81        </div>
82      </div>
83
84     
85      <hr class="sep" />
86     
87     
88      <div id="module-Auto::Answer" class="module">
89        <div class="module-header"><h2 title="特定の発言に反応して対応する発言をする。">Auto::Answer</h2>
90          <span class="description">特定の発言に反応して対応する発言をする。</span></div>
91        <div class="content">
92          <p class="comment">
93Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
94</p>
95<p class="comment">
96&nbsp;反応する発言と、それに対する返事を定義します。<br />
97&nbsp;エイリアス置換が有効です。#(nick.now)と$(channel)はそれぞれ<br />
98&nbsp;相手の現在のnickとチャンネル名に置換されます。<br />
99<br />
100&nbsp;コマンド: reply<br />
101&nbsp;書式: &lt;反応する発言のマスク&gt; &lt;それに対する返事&gt;<br />
102&nbsp;例:<br />
103</p>
104<div class="element"><span class="key">reply</span>:<span class="value">こんにちは* こんにちは、#(name|nick.now)さん。</span></div>
105<p class="comment">
106&nbsp;この例では誰かが「こんにちは」で始まる発言をすると、<br />
107&nbsp;発言した人のエイリアスを参照して「こんにちは、○○さん。」のように発言します。<br />
108<br />
109&nbsp;コマンド: channel-reply<br />
110&nbsp;書式: &lt;反応するチャンネルのマスク&gt; &lt;反応する発言のマスク&gt; &lt;それに対する返事&gt;<br />
111&nbsp;例:<br />
112</p>
113<div class="element"><span class="key">channel-reply</span>:<span class="value">#あいさつ@ircnet こんにちは* こんにちは、#(name|nick.now)さん。</span></div>
114<p class="comment">
115&nbsp;この例では#あいさつ@ircnetで誰かが「こんにちは」で始まる発言をすると、<br />
116&nbsp;発言した人のエイリアスを参照して「こんにちは、○○さん。」のように発言します。<br />
117<br />
118&nbsp;コマンド: answer-to-myself<br />
119&nbsp;書式: &lt;真偽値&gt;<br />
120&nbsp;例:<br />
121</p>
122<div class="element"><span class="key">answer-to-myself</span>:<span class="value">on</span></div>
123<p class="comment">
124自分の発言にも反応するようになります。<br />
125デフォルトは off です。<br />
126</p>
127
128        </div>
129      </div>
130
131     
132      <hr class="sep" />
133     
134     
135      <div id="module-Auto::Calc" class="module">
136        <div class="module-header"><h2 title="Perlの式を計算させるモジュール。">Auto::Calc</h2>
137          <span class="description">Perlの式を計算させるモジュール。</span></div>
138        <div class="content">
139          <p class="comment">
140反応する発言を指定します。<br />
141</p>
142<div class="element"><span class="key">request</span>:<span class="value">計算</span></div>
143<p class="comment">
144使用を許可する人&amp;チャンネルのマスク。<br />
145例はTiarraモード時。 [default: なし]<br />
146</p>
147<div class="element"><span class="key">mask</span>:<span class="value">* +*!*@*</span></div>
148<p class="comment">
149[plum-mode] mask: +*!*@*<br />
150</p>
151<p class="comment">
152結果が未定義だったときに置き換えられる文字列。省略されると undef 。<br />
153</p>
154<div class="element"><span class="key">undef</span>:<span class="value">(未定義)</span></div>
155<p class="comment">
156正常に計算できたときのフォーマット<br />
157method: 計算式, result: 結果, error: エラー, signal: シグナル<br />
158</p>
159<div class="element"><span class="key">reply-format</span>:<span class="value">#(method): #(result)</span></div>
160<p class="comment">
161エラーが起きたときのフォーマット<br />
162method: 計算式, result: 結果, error: エラー, signal: シグナル<br />
163</p>
164<div class="element"><span class="key">error-format</span>:<span class="value">#(method): エラーです。(#(error))</span></div>
165<p class="comment">
166シグナルが発生したときのフォーマット<br />
167</p>
168<div class="element"><span class="key">signal-format</span>:<span class="value">#(method): シグナルです。(#(signal))</span></div>
169<p class="comment">
170signal-$SIGNALNAME-format 形式。<br />
171$SIGNALNAME には現状 alarm/sigfpe があります。<br />
172該当がなければ signal-format にフォールバックします。<br />
173</p>
174<p class="comment">
175いくつかの例を挙げます。<br />
176</p>
177<div class="element"><span class="key">signal-alarm-format</span>:<span class="value">#(method): 時間切れです。</span></div>
178<div class="element"><span class="key">signal-sigfpe-format</span>:<span class="value">#(method): 浮動小数点計算例外です。</span></div>
179<p class="comment">
180タイムアウトする秒数を指定します。 alarm に渡されます。<br />
181再帰を止めるのに使えますが、どうもメモリリークしていそうな雰囲気です。<br />
182</p>
183<div class="element"><span class="key">timeout</span>:<span class="value">1</span></div>
184<p class="comment">
185サブルーチン定義を許可するかどうかを指定する。<br />
186再帰定義が可能なので、許可する場合はこのモジュール専用の<br />
187Tiarra を動かすことをお勧めします。<br />
188</p>
189<div class="element"><span class="key">permit-sub</span>:<span class="value">0</span></div>
190<p class="comment">
191初期化する発言を指定します。<br />
192このモジュールでは現状変数や関数定義などを行えます。<br />
193このコマンドが発行されるとそれらをクリアします。<br />
194</p>
195<div class="element"><span class="key">init</span>:<span class="value">計算初期化</span></div>
196<p class="comment">
197初期化を許可する人&amp;チャンネルのマスク。<br />
198例はTiarraモード時。 [default: なし]<br />
199</p>
200<div class="element"><span class="key">init-mask</span>:<span class="value">* +*!*@*</span></div>
201<p class="comment">
202[plum-mode] mask: +*!*@*<br />
203</p>
204<p class="comment">
205再初期化したときの発言を指定します。<br />
206</p>
207<div class="element"><span class="key">init-format</span>:<span class="value">初期化しました。</span></div>
208
209        </div>
210      </div>
211
212     
213      <hr class="sep" />
214     
215     
216      <div id="module-Auto::ChannelWithoutOper" class="module">
217        <div class="module-header"><h2 title="チャンネルオペレータ権限がなくなってしまったときに発言する。">Auto::ChannelWithoutOper</h2>
218          <span class="description">チャンネルオペレータ権限がなくなってしまったときに発言する。</span></div>
219        <div class="content">
220          <p class="comment">
221+で始まらない特定のチャンネルで、+aモードでも+rモードでもないのに<br />
222誰もチャンネルオペレータ権限を持っていない状態になっている時、<br />
223そこに誰かがJOINする度に特定のメッセージを発言するモジュールです。<br />
224</p>
225<p class="comment">
226書式: &lt;チャンネル名&gt; &lt;メッセージ&gt;<br />
227</p>
228<div class="element"><span class="key">channel</span>:<span class="value">#IRC談話室@ircnet なると消失しました。</span></div>
229
230        </div>
231      </div>
232
233     
234      <hr class="sep" />
235     
236     
237      <div id="module-Auto::FetchTitle" class="module">
238        <div class="module-header"><h2 title="発言に含まれるURLからタイトルを取得.">Auto::FetchTitle</h2>
239          <span class="description">発言に含まれるURLからタイトルを取得.</span></div>
240        <div class="content">
241          <p class="comment">
242リクエストタイムアウトまでの時間(秒).<br />
243</p>
244<div class="element"><span class="key">timeout</span>:<span class="value">3</span></div>
245<p class="comment">
246&nbsp;有効にするチャンネルとオプションとURLの設定.<br />
247&nbsp;書式: mask: &lt;channel&gt; [&lt;&amp;conf&gt;...] &lt;url&gt;<br />
248<br />
249&nbsp;mask: #test@ircnet &amp;test http://*<br />
250&nbsp;mask: * http://*<br />
251</p>
252<div class="element"><span class="key">mask</span>:<span class="value">* http://*</span></div>
253<p class="comment">
254&nbsp;&amp;test と設定すると conf-test ブロックの中身が使われる.<br />
255conf-test {<br />
256&nbsp;&nbsp;auth-test1 {<br />
257&nbsp;&nbsp;&nbsp;&nbsp;url:  http://example.com/*<br />
258&nbsp;&nbsp;&nbsp;&nbsp;url:  http://example.org/*<br />
259&nbsp;&nbsp;&nbsp;&nbsp;user: test<br />
260&nbsp;&nbsp;&nbsp;&nbsp;#pass: test<br />
261&nbsp;&nbsp;&nbsp;&nbsp;pass: {BASE64}dGVzdAo=<br />
262&nbsp;&nbsp;}<br />
263&nbsp;&nbsp;filter-xx {<br />
264&nbsp;&nbsp;&nbsp;&nbsp;url:  http://example.com/*/xx/*<br />
265&nbsp;&nbsp;&nbsp;&nbsp;type: xx<br />
266&nbsp;&nbsp;}<br />
267}<br />
268</p>
269<p class="comment">
270お返事の前や後ろにつける字句.<br />
271</p>
272<div class="element"><span class="key">reply-prefix</span>:<span class="value">"(FetchTitle) "</span></div>
273<div class="element"><span class="key">reply-suffix</span>:<span class="value">" [AR]"</span></div>
274<p class="comment">
275&nbsp;デバッグフラグ.<br />
276debug: 0<br />
277debug-mask: #debug-chan your_nick!~you@example.com<br />
278debug-dumpfile: fetchtitle.log<br />
279</p>
280<p class="comment">
281NOTE:<br />
282&nbsp;利用するにはcodereposから<br />
283&nbsp;module/Tools/HTTPClient.pm     rev.8220<br />
284&nbsp;main/Tiarra/Socket/Buffered.pm rev.8219<br />
285&nbsp;以降が必要です.<br />
286</p>
287
288        </div>
289      </div>
290
291     
292      <hr class="sep" />
293     
294     
295      <div id="module-Auto::FetchTitle::Plugin::ExtractHeading" class="module">
296        <div class="module-header"><h2 title="本文から見出しを抽出するFetchTitleプラグイン.">Auto::FetchTitle::Plugin::ExtractHeading</h2>
297          <span class="description">本文から見出しを抽出するFetchTitleプラグイン.</span></div>
298        <div class="content">
299          <p class="comment">
300Auto::FetchTitle { ... } での設定.<br />
301+ Auto::FetchTitle {<br />
302&nbsp;&nbsp;&nbsp;&nbsp;plugins {<br />
303&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExtractHeading {<br />
304&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extra: name1 name2 ...<br />
305&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extra-name1 {<br />
306&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url:        http://www.example.com/*<br />
307&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recv_limit: 10*1024<br />
308&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extract:    re:&lt;div id=&quot;title&quot;&gt;(.*?)&lt;/div&gt;<br />
309&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
310&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
311&nbsp;&nbsp;&nbsp;}<br />
312&nbsp;}<br />
313</p>
314
315        </div>
316      </div>
317
318     
319      <hr class="sep" />
320     
321     
322      <div id="module-Auto::FetchTitle::Plugin::Mixi" class="module">
323        <div class="module-header"><h2 title="Mixiにログインして見出し抽出出来るようにするFetchTitleプラグイン.">Auto::FetchTitle::Plugin::Mixi</h2>
324          <span class="description">Mixiにログインして見出し抽出出来るようにするFetchTitleプラグイン.</span></div>
325        <div class="content">
326          <p class="comment">
327&nbsp;Auto::FetchTitle { ... } での設定.<br />
328<br />
329&nbsp;+ Auto::FetchTitle {<br />
330&nbsp;&nbsp;&nbsp;&nbsp;mask: #* &amp;mixi http://*<br />
331&nbsp;&nbsp;&nbsp;&nbsp;plugins {<br />
332&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mixi {<br />
333&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mixi-user: xxx<br />
334&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mixi-pass: yyy<br />
335&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
336&nbsp;&nbsp;&nbsp;&nbsp;}<br />
337&nbsp;&nbsp;&nbsp;&nbsp;conf-mixi {<br />
338&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter-mixi {<br />
339&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url: http://mixi.jp/*<br />
340&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url: http://news.mixi.jp/*<br />
341&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type: mixi<br />
342&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeout: 10<br />
343&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#閲覧可能なコミュニティの指定.<br />
344&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#mixi-community: 0<br />
345&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
346&nbsp;&nbsp;&nbsp;&nbsp;}<br />
347&nbsp;&nbsp;}<br />
348<br />
349&nbsp;アカウント情報は plugins Mixi に記述.<br />
350&nbsp;mixi-pass には {B}bbbb でBASE64エンコード値も可能.<br />
351<br />
352&nbsp;newsだけしか使わない場合でも, ログイン処理が必要なので<br />
353&nbsp;mixi.jp/* 側も必要になります.<br />
354</p>
355
356        </div>
357      </div>
358
359     
360      <hr class="sep" />
361     
362     
363      <div id="module-Auto::Im" class="module">
364        <div class="module-header"><h2 title="名前が呼ばれると、その発言をim.kayac.comに送信する">Auto::Im</h2>
365          <span class="description">名前が呼ばれると、その発言をim.kayac.comに送信する</span></div>
366        <div class="content">
367          <p class="comment">
368反応する人のマスクを指定します。<br />
369省略すると全員に反応します。<br />
370</p>
371<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
372<p class="comment">
373反応するキーワードを正規表現で指定します。<br />
374複数指定したい時は複数行指定してください。<br />
375</p>
376<div class="element"><span class="key">regex-keyword</span>:<span class="value">(?i:fugahoge)</span></div>
377<p class="comment">
378反応するキーワードを指定します。<br />
379複数指定したい時は,(コンマ)で区切るか、複数行指定してください。<br />
380</p>
381<div class="element"><span class="key">keyword</span>:<span class="value">hoge</span></div>
382<p class="comment">
383im.kayac.com に送るメッセージのフォーマットを指定します。<br />
384デフォルト値: [tiarra][#(channel):#(nick.now)] #(text)<br />
385#(channel) のかわりに #(raw_channel) を利用するとネットワーク名がつきません。<br />
386</p>
387<div class="element"><span class="key">format</span>:<span class="value">[tiarra][#(channel):#(nick.now)] #(text)</span></div>
388<p class="comment">
389im.kayac.comで登録したユーザ名を入力します。<br />
390im.kayac.comについては http://im.kayac.com/#docs を参考にしてください。<br />
391</p>
392<div class="element"><span class="key">user</span>:<span class="value">username</span></div>
393<p class="comment">
394im.kayac.comで秘密鍵認証を選択した場合は設定してください。<br />
395省略すると認証なしになります。<br />
396</p>
397<div class="element"><span class="key">secret</span>:<span class="value">some secret</span></div>
398<p class="comment">
399im.kayac.comでパスワード認証を選択した場合は設定してください。<br />
400省略すると認証なしになります。<br />
401secret と両方指定した場合は secret が優先されています。<br />
402</p>
403<div class="element"><span class="key">password</span>:<span class="value">some password</span></div>
404
405        </div>
406      </div>
407
408     
409      <hr class="sep" />
410     
411     
412      <div id="module-Auto::Joined" class="module">
413        <div class="module-header"><h2 title="特定のチャンネルに誰かがJOINする度に特定のメッセージを発言する。">Auto::Joined</h2>
414          <span class="description">特定のチャンネルに誰かがJOINする度に特定のメッセージを発言する。</span></div>
415        <div class="content">
416          <p class="comment">
417Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
418</p>
419<p class="comment">
420&nbsp;発言を行なうチャンネルと、その内容を定義します。<br />
421&nbsp;#(nick.now)と$(channel)は、それぞれ相手の現在のnickとチャンネル名に置換されます。<br />
422<br />
423&nbsp;書式: &lt;チャンネル名&gt; &lt;発言内容&gt;<br />
424</p>
425<div class="element"><span class="key">channel</span>:<span class="value">#チャンネル@ircnet   「#ちゃんねる」に移転しました。</span></div>
426
427        </div>
428      </div>
429
430     
431      <hr class="sep" />
432     
433     
434      <div id="module-Auto::MesMail" class="module">
435        <div class="module-header"><h2 title="伝言をメールとして送信する。">Auto::MesMail</h2>
436          <span class="description">伝言をメールとして送信する。</span></div>
437        <div class="content">
438          <p class="comment">
439メールアドレスはエイリアスの mail を参照します。<br />
440</p>
441<p class="comment">
442Fromアドレス。[default: OSのユーザ名]<br />
443</p>
444<div class="element"><span class="key">from</span>:<span class="value">example1@example.jp</span></div>
445<p class="comment">
446送信用のキーワード [default: mesmail_send]<br />
447</p>
448<div class="element"><span class="key">send</span>:<span class="value">速達伝言</span></div>
449<p class="comment">
450使用を許可する人&amp;チャンネルのマスク。<br />
451例はTiarraモード時。 [default: なし]<br />
452</p>
453<div class="element"><span class="key">mask</span>:<span class="value">* +*!*@*</span></div>
454<p class="comment">
455[plum-mode] mask: +*!*@*<br />
456</p>
457<p class="comment">
458maskで拒否されたときのメッセージ [default: なし]<br />
459</p>
460<div class="element"><span class="key">deny</span>:<span class="value">伝言したくない。</span></div>
461<p class="comment">
462一度に送れる宛先の量 [default: 無制限]<br />
463</p>
464<div class="element"><span class="key">max-send-address</span>:<span class="value">5</span></div>
465<p class="comment">
466宛先を探すエイリアスエントリ [default: なし]<br />
467</p>
468<div class="element"><span class="key">alias-key</span>:<span class="value">name</span></div>
469<div class="element"><span class="key">alias-key</span>:<span class="value">nick</span></div>
470<p class="comment">
471宛先の人を判別出来なかったときのメッセージ [default: なし]<br />
472</p>
473<div class="element"><span class="key">unknown</span>:<span class="value">#(who)さんと言うのは誰ですか?</span></div>
474<p class="comment">
475メールの日付形式<br />
476</p>
477<div class="element"><span class="key">date</span>:<span class="value">%H:%M:%S</span></div>
478<p class="comment">
479エイリアスは見付かったけれどメールアドレスが登録されていなかったときのメッセージ。 [default: なし]<br />
480</p>
481<div class="element"><span class="key">none-address</span>:<span class="value">#(who)さんはアドレスを登録していません。</span></div>
482<p class="comment">
483SMTPのホスト [default: localhost]<br />
484</p>
485<div class="element"><span class="key">smtphost</span>:<span class="value">localhost</span></div>
486<p class="comment">
487SMTPのポート [default: smtp(25)]<br />
488</p>
489<div class="element"><span class="key">smtpport</span>:<span class="value">25</span></div>
490<p class="comment">
491SMTPで自ホストのFQDN [default: localhost]<br />
492</p>
493<div class="element"><span class="key">smtpfqdn</span>:<span class="value">localhost</span></div>
494<p class="comment">
495SMTPのユーザ。指定されれば SMTP Auth を行う [default: なし]<br />
496</p>
497<div class="element"><span class="key">smtpuser</span>:<span class="value">example1</span></div>
498<p class="comment">
499SMTPのパスワード [default: 空パスワード(&#39;&#39;)]<br />
500</p>
501<div class="element"><span class="key">smtppass</span>:<span class="value">test-password</span></div>
502<p class="comment">
503送信するメールの既定件名(エイリアス使用不可) [default: Message from IRC]<br />
504</p>
505<div class="element"><span class="key">subject</span>:<span class="value">Message from IRC</span></div>
506<p class="comment">
507送信するメールの本文 [default: #(date) &lt;&lt; #(from.name|from.nick|from.nick.now) &gt;&gt; #(message)]<br />
508</p>
509<div class="element"><span class="key">format</span>:<span class="value">#(date)に#(from.name|from.nick|from.nick.now)さんから#(message)という伝言です。</span></div>
510<p class="comment">
511送信したときのメッセージ。 [default: なし]<br />
512</p>
513<div class="element"><span class="key">accept</span>:<span class="value">#(who)さんに#(message)と伝言しておきました。</span></div>
514<p class="comment">
515---- POP before SMTP の指定 ----<br />
516POP before SMTPを使う。 [default: no]<br />
517</p>
518<div class="element"><span class="key">use-pop3</span>:<span class="value">yes</span></div>
519<p class="comment">
520POP before SMTPのタイムアウト時間(分)。分からない場合は指定しなくて良い。 [default: 0]<br />
521</p>
522<div class="element"><span class="key">pop3-expire</span>:<span class="value">4</span></div>
523<p class="comment">
524POPのホスト。 [default: localhost]<br />
525</p>
526<div class="element"><span class="key">pop3host</span>:<span class="value">localhost</span></div>
527<p class="comment">
528POPのポート。 [default: pop(110)]<br />
529</p>
530<div class="element"><span class="key">pop3port</span>:<span class="value">110</span></div>
531<p class="comment">
532POPのユーザ [default: OSのユーザ名]<br />
533</p>
534<div class="element"><span class="key">pop3user</span>:<span class="value">example1</span></div>
535<p class="comment">
536POPのパスワード [default: 空パスワード(&#39;&#39;)]<br />
537</p>
538<div class="element"><span class="key">pop3pass</span>:<span class="value">test-password</span></div>
539<p class="comment">
540---- エラーメッセージの設定 ----<br />
541</p>
542<p class="comment">
543一般エラー。<br />
544error-[state] と言う形式で詳細エラーメッセージを指定できる。<br />
545[state]は、<br />
546&nbsp;&nbsp;&nbsp;* mailfrom(メールの送信者を指定しようとしてエラー)<br />
547&nbsp;&nbsp;&nbsp;* rcptto(メールの送信先を指定しようとしてエラー)<br />
548&nbsp;&nbsp;&nbsp;* norcptto(メールの送信先が全部無くなった)<br />
549&nbsp;&nbsp;&nbsp;* data(メールの中身を送信しようとしてエラー)<br />
550&nbsp;&nbsp;&nbsp;* finish(メールの中身を送信したらエラー)<br />
551がある。特に欲しくなければerror-[state]は指定しなくても構わない。<br />
552メッセージを出したくないなら中身の無いエントリを指定すれば良い。<br />
553error-[state]が指定されてない場合は代わりに error を使う。 [default: 未定義]<br />
554</p>
555<div class="element"><span class="key">error-rcptto</span>:<span class="value"></span></div>
556<div class="element"><span class="key">error-norcptto</span>:<span class="value">#(who)さんには送れませんでした。送信できるメールアドレスがありません。</span></div>
557<div class="element"><span class="key">error-data</span>:<span class="value">メールが送信できません。DATAコマンドに失敗しました。#(line;サーバ応答:%s|;)</span></div>
558<div class="element"><span class="key">error</span>:<span class="value">メール送信エラーです。#(line;サーバ応答:%s|;)#(state; on %s|;)</span></div>
559<p class="comment">
560致命的なエラー。メールに個別なエラーではないので送信者(のprefix)毎に1メッセージ送られる。<br />
561fatalerror-[state]<br />
562[state]:<br />
563&nbsp;&nbsp;&nbsp;* first(接続エラー)<br />
564&nbsp;&nbsp;&nbsp;* helo(SMTPセッションを開始出来ない)<br />
565がある。特に欲しくなければfatalerror-[state]は指定しなくても構わない。<br />
566メッセージを出したくないなら中身の無いエントリを指定すれば良い。<br />
567fatalerror-[state]が指定されてない場合は代わりに fatalerror を使う。 [default: 未定義]<br />
568</p>
569<div class="element"><span class="key">fatalerror-first</span>:<span class="value">SMTPサーバに接続できません。</span></div>
570<div class="element"><span class="key">fatalerror</span>:<span class="value">SMTPセッションで致命的なエラーがありました。#(line; サーバ応答:%s|;)#(state; on %s|;)</span></div>
571
572        </div>
573      </div>
574
575     
576      <hr class="sep" />
577     
578     
579      <div id="module-Auto::Oper" class="module">
580        <div class="module-header"><h2 title="特定の文字列を発言した人を+oする。">Auto::Oper</h2>
581          <span class="description">特定の文字列を発言した人を+oする。</span></div>
582        <div class="content">
583          <p class="comment">
584Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
585</p>
586<p class="comment">
587+oを要求する文字列(マスク)を指定します。<br />
588</p>
589<div class="element"><span class="key">request</span>:<span class="value">なると寄越せ</span></div>
590<p class="comment">
591チャンネルオペレータ権限を要求した人と要求されたチャンネルが<br />
592ここで指定したマスクに一致しなかった場合は<br />
593denyで指定した文字列を発言し、+oをやめます。<br />
594省略された場合は誰にも+oしません。<br />
595書式は「チャンネル 発言者」です。<br />
596マッチングのアルゴリズムは次の通りです。<br />
5971. チャンネル名にマッチするmask定義を全て集める<br />
5982. 集まった定義の発言者マスクを、定義された順にカンマで結合する<br />
5993. そのようにして生成されたマスクで発言者のマッチングを行ない、結果を+o可能性とする。<br />
600例1:<br />
601mask: *@2ch* *!*@*<br />
602mask: #*@ircnet* *!*@*.hoge.jp<br />
603この例ではネットワーク 2ch の全てのチャンネルで誰にでも +o し、<br />
604ネットワーク ircnet の # で始まる全てのチャンネルでホスト名 *.hoge.jp の人に+oします。<br />
605#*@ircnetだと「#hoge@ircnet:*.jp」などにマッチしなくなります。<br />
606例2:<br />
607mask: #hoge@ircnet -*!*@*,+*!*@*.hoge.jp<br />
608mask: *            +*!*@*<br />
609基本的に全てのチャンネルで誰にでも +o するが、例外的に#hoge@ircnetでは<br />
610ホスト名 *.hoge.jp の人にしか +o しない。<br />
611この順序を上下逆にすると、全てのチャンネルで全ての人を +o する事になります。<br />
612何故なら最初の* +*!*@*が全ての人にマッチするからです。<br />
613</p>
614<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
615<p class="comment">
616+oを要求した人を実際に+oする時、ここで指定した発言をしてから+oします。<br />
617#(name|nick)のようなエイリアス置換を行います。<br />
618エイリアス以外でも、#(nick.now)を相手のnickに、#(channel)を<br />
619そのチャンネル名にそれぞれ置換します。<br />
620</p>
621<div class="element"><span class="key">message</span>:<span class="value">了解</span></div>
622<p class="comment">
623+oを要求されたが+oすべき相手ではなかった場合の発言。<br />
624省略されたら何も喋りません。<br />
625</p>
626<div class="element"><span class="key">deny</span>:<span class="value">断わる</span></div>
627<p class="comment">
628+oを要求されたが相手は既にチャンネルオペレータ権限を持っていた場合の発言。<br />
629省略されたらdenyに設定されたものを使います。<br />
630</p>
631<div class="element"><span class="key">oper</span>:<span class="value">既に@を持っている</span></div>
632<p class="comment">
633+oを要求されたが自分はチャンネルオペレータ権限を持っていなかった場合の発言。<br />
634省略されたらdenyに設定されたものを使います。<br />
635</p>
636<div class="element"><span class="key">not-oper</span>:<span class="value">@が無い</span></div>
637<p class="comment">
638チャンネルに対してでなく自分に対して+oの要求を行なった場合の発言。<br />
639省略されたらdenyに設定されたものを使います。<br />
640</p>
641<div class="element"><span class="key">private</span>:<span class="value">チャンネルで要求せよ</span></div>
642<p class="comment">
643チャンネルの外から+oを要求された場合の発言。+nチャンネルでは起こりません。<br />
644省略されたらdenyに設定されたものを使います。<br />
645</p>
646<div class="element"><span class="key">out</span>:<span class="value">チャンネルに入っていない</span></div>
647
648        </div>
649      </div>
650
651     
652      <hr class="sep" />
653     
654     
655      <div id="module-Auto::Random" class="module">
656        <div class="module-header"><h2 title="特定の発言に反応してランダムな発言をします。">Auto::Random</h2>
657          <span class="description">特定の発言に反応してランダムな発言をします。</span></div>
658        <div class="content">
659          <p class="comment">
660Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
661</p>
662<p class="comment">
663使用するブロックの定義。<br />
664</p>
665<div class="element"><span class="key">blocks</span>:<span class="value">wimikuji</span></div>
666<div class="block element"><span class="block key">wimikuji</span>
667<div class="block content">
668<p class="comment">
669ランダムに発言するメッセージの書かれたファイルと、その文字コードを指定します。<br />
670ファイルの中では一行に一つのメッセージを書いて下さい。<br />
671</p>
672<div class="element"><span class="key">file</span>:<span class="value">random.txt</span></div>
673<div class="element"><span class="key">file-encoding</span>:<span class="value">euc</span></div>
674<p class="comment">
675反応する発言を表すマスクを指定します。<br />
676</p>
677<div class="element"><span class="key">request</span>:<span class="value">ゐみくじ</span></div>
678<p class="comment">
679メッセージの登録数を返答するキーワードを指定します。<br />
680</p>
681<div class="element"><span class="key">count-query</span>:<span class="value">ゐみくじ登録数</span></div>
682<p class="comment">
683メッセージの登録数を返答するときの反応を指定します。<br />
684formatで指定できるものと同じです。#(count)は登録数になります。<br />
685</p>
686<div class="element"><span class="key">count-format</span>:<span class="value">ゐみくじは#(count)件登録されています。</span></div>
687<p class="comment">
688ランダムなメッセージを発言する際のフォーマットを指定します。<br />
689エイリアス置換が有効です。#(message)、#(nick.now)、#(channel)は<br />
690それぞれメッセージ内容、相手のnick、チャンネル名に置換されます。<br />
691何も登録されていないときのために、#(message|;無登録)のように指定すると良いでしょう。<br />
692</p>
693<div class="element"><span class="key">format</span>:<span class="value">#(name|nick.now)の運命は#(message)</span></div>
694<p class="comment">
695反応する人のマスク。<br />
696</p>
697<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
698<p class="comment">
699plum: mask: *!*@*<br />
700</p>
701<p class="comment">
702メッセージが追加されたときの反応を指定します。<br />
703formatで指定できるものと同じです。#(message)は追加されたメッセージになります。<br />
704</p>
705<div class="element"><span class="key">added-format</span>:<span class="value">#(name|nick.now): ゐみくじ #(message) を追加しました。</span></div>
706<p class="comment">
707メッセージが削除されたときの反応を指定します。<br />
708formatで指定できるものと同じです。#(message)は削除されたメッセージになります。<br />
709</p>
710<div class="element"><span class="key">removed-format</span>:<span class="value">#(name|nick.now): ゐみくじ #(message) を削除しました。</span></div>
711<p class="comment">
712発言に反応する確率を指定します。百分率です。省略された場合は100と見做されます。<br />
713</p>
714<div class="element"><span class="key">rate</span>:<span class="value">100</span></div>
715<p class="comment">
716メッセージを追加するキーワードを指定します。<br />
717ここで指定したキーワードを発言すると、新しいメッセージを追加します。<br />
718実際の追加方法は「&lt;addで指定したキーワード&gt; &lt;追加するメッセージ&gt;」です。<br />
719</p>
720<div class="element"><span class="key">add</span>:<span class="value">ゐみくじ追加</span></div>
721<p class="comment">
722メッセージを削除するキーワードを指定します。<br />
723実際の削除方法は「&lt;removeで指定したキーワード&gt; &lt;削除するキーワード&gt;」です。<br />
724</p>
725<div class="element"><span class="key">remove</span>:<span class="value">ゐみくじ削除</span></div>
726<p class="comment">
727addとremoveを許可する人。省略された場合は誰も変更できません。<br />
728</p>
729<div class="element"><span class="key">modifier</span>:<span class="value">* *!*@*</span></div>
730<p class="comment">
731plum: modifier: *!*@*<br />
732</p>
733</div></div>
734
735        </div>
736      </div>
737
738     
739      <hr class="sep" />
740     
741     
742      <div id="module-Auto::Reply" class="module">
743        <div class="module-header"><h2 title="特定の発言に反応して発言をします。">Auto::Reply</h2>
744          <span class="description">特定の発言に反応して発言をします。</span></div>
745        <div class="content">
746          <p class="comment">
747Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
748</p>
749<p class="comment">
750使用するブロックの定義。<br />
751</p>
752<div class="element"><span class="key">blocks</span>:<span class="value">std</span></div>
753<div class="block element"><span class="block key">std</span>
754<div class="block content">
755<p class="comment">
756データファイルと文字コードを指定します。<br />
757ファイルの中では一行に一つの&quot;反応:メッセージ&quot;を書いて下さい。<br />
758</p>
759<div class="element"><span class="key">file</span>:<span class="value">reply.txt</span></div>
760<div class="element"><span class="key">file-encoding</span>:<span class="value">euc</span></div>
761<p class="comment">
762反応チェックを行うキーワードを指定します。<br />
763実際の指定方法は、「&lt;requestで指定したキーワード&gt; &lt;チェックしたい発言&gt;」です。<br />
764</p>
765<div class="element"><span class="key">request</span>:<span class="value">反応チェック</span></div>
766<p class="comment">
767request に反応するときのフォーマットを指定します。<br />
768#(key) がキーワード、 #(message) が発言に置換されます。<br />
769</p>
770<div class="element"><span class="key">reply-format</span>:<span class="value">「#(key)」という発言に「#(message)」と反応します。</span></div>
771<p class="comment">
772request に反応する最大個数を指定します。<br />
773あまり大きな値を指定すると、アタックが可能になったり、ログが流れて邪魔なので注意してください。<br />
774</p>
775<div class="element"><span class="key">max-reply</span>:<span class="value">5</span></div>
776<p class="comment">
777メッセージの登録数を返答するキーワードを指定します。<br />
778</p>
779<div class="element"><span class="key">count-query</span>:<span class="value">反応登録数</span></div>
780<p class="comment">
781メッセージの登録数を返答するときの反応を指定します。<br />
782formatで指定できるものと同じです。#(count)は登録数になります。<br />
783</p>
784<div class="element"><span class="key">count-format</span>:<span class="value">反応は#(count)件登録されています。</span></div>
785<p class="comment">
786反応する人のマスク。<br />
787</p>
788<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
789<p class="comment">
790plum: mask: *!*@*<br />
791</p>
792<p class="comment">
793反応が追加されたときの反応を指定します。<br />
794formatで指定できるものと同じです。#(message)は追加されたメッセージになります。<br />
795</p>
796<div class="element"><span class="key">added-format</span>:<span class="value">#(name|nick.now): #(key) に対する反応 #(message) を追加しました。</span></div>
797<p class="comment">
798メッセージが削除されたときの反応を指定します。<br />
799formatで指定できるものと同じです。#(message)は削除されたメッセージになります。<br />
800</p>
801<div class="element"><span class="key">removed-format</span>:<span class="value">#(name|nick.now): #(key) #(message;に対する反応 %s|;) を #(count) 件削除しました。</span></div>
802<p class="comment">
803発言に反応する確率を指定します。百分率です。省略された場合は100と見做されます。<br />
804</p>
805<div class="element"><span class="key">rate</span>:<span class="value">100</span></div>
806<p class="comment">
807メッセージを追加するキーワードを指定します。<br />
808ここで指定したキーワードを発言すると、新しいメッセージを追加します。<br />
809実際の追加方法は「&lt;addで指定したキーワード&gt; &lt;追加するメッセージ&gt;」です。<br />
810</p>
811<div class="element"><span class="key">add</span>:<span class="value">反応追加</span></div>
812<p class="comment">
813メッセージを削除するキーワードを指定します。<br />
814実際の削除方法は「&lt;removeで指定したキーワード&gt; &lt;削除するキーワード&gt;」です。<br />
815</p>
816<div class="element"><span class="key">remove</span>:<span class="value">反応削除</span></div>
817<p class="comment">
818addとremoveを許可する人。省略された場合は「* *!*@*」と見做します。<br />
819</p>
820<div class="element"><span class="key">modifier</span>:<span class="value">* *!*@*</span></div>
821<p class="comment">
822正規表現拡張を許可するか。省略された場合は禁止します。<br />
823</p>
824<div class="element"><span class="key">use-re</span>:<span class="value">1</span></div>
825</div></div>
826
827        </div>
828      </div>
829
830     
831      <hr class="sep" />
832     
833     
834      <div id="module-Auto::Response" class="module">
835        <div class="module-header"><h2 title="データファイルの指定にしたがって反応する。">Auto::Response</h2>
836          <span class="description">データファイルの指定にしたがって反応する。</span></div>
837        <div class="content">
838          <p class="comment">
839大量の反応データを定義するのに向いています。<br />
840</p>
841<p class="comment">
842データファイルのフォーマット<br />
843| pattern: re:^(こん(に)?ちは)<br />
844| rate: 90<br />
845| mask: * *!*@*<br />
846| #plum: mask: *!*@*<br />
847| response: こんにちは。<br />
848| response: いらっしゃいませ。<br />
849|<br />
850| pattern: おやすみ<br />
851| rate: 20<br />
852| response: おやすみなさい。<br />
853patternは一行しか書けません。(手抜き<br />
854maskもrateも省略できます。省略した場合はmaskは全員、rateは100となります。<br />
855responseは複数書いておけばランダムに選択されます。<br />
856</p>
857<p class="comment">
858データファイル<br />
859</p>
860<div class="element"><span class="key">file</span>:<span class="value">response.txt</span></div>
861<p class="comment">
862文字コード<br />
863</p>
864<div class="element"><span class="key">charset</span>:<span class="value">euc</span></div>
865<p class="comment">
866使用を許可する人&amp;チャンネルのマスク。<br />
867</p>
868<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
869<p class="comment">
870plum: mask: +*!*@*<br />
871</p>
872
873        </div>
874      </div>
875
876     
877     
878    </div>
879
880    <div class="pane-sidebar">
881      <ul class="menu">
882       
883        <li><a href="#module-Auto::Alias" title="ユーザエイリアス情報の管理を行ないます。">Auto::Alias</a></li>
884       
885        <li><a href="#module-Auto::Answer" title="特定の発言に反応して対応する発言をする。">Auto::Answer</a></li>
886       
887        <li><a href="#module-Auto::Calc" title="Perlの式を計算させるモジュール。">Auto::Calc</a></li>
888       
889        <li><a href="#module-Auto::ChannelWithoutOper" title="チャンネルオペレータ権限がなくなってしまったときに発言する。">Auto::ChannelWithoutOper</a></li>
890       
891        <li><a href="#module-Auto::FetchTitle" title="発言に含まれるURLからタイトルを取得.">Auto::FetchTitle</a></li>
892       
893        <li><a href="#module-Auto::FetchTitle::Plugin::ExtractHeading" title="本文から見出しを抽出するFetchTitleプラグイン.">Auto::FetchTitle::Plugin::ExtractHeading</a></li>
894       
895        <li><a href="#module-Auto::FetchTitle::Plugin::Mixi" title="Mixiにログインして見出し抽出出来るようにするFetchTitleプラグイン.">Auto::FetchTitle::Plugin::Mixi</a></li>
896       
897        <li><a href="#module-Auto::Im" title="名前が呼ばれると、その発言をim.kayac.comに送信する">Auto::Im</a></li>
898       
899        <li><a href="#module-Auto::Joined" title="特定のチャンネルに誰かがJOINする度に特定のメッセージを発言する。">Auto::Joined</a></li>
900       
901        <li><a href="#module-Auto::MesMail" title="伝言をメールとして送信する。">Auto::MesMail</a></li>
902       
903        <li><a href="#module-Auto::Oper" title="特定の文字列を発言した人を+oする。">Auto::Oper</a></li>
904       
905        <li><a href="#module-Auto::Random" title="特定の発言に反応してランダムな発言をします。">Auto::Random</a></li>
906       
907        <li><a href="#module-Auto::Reply" title="特定の発言に反応して発言をします。">Auto::Reply</a></li>
908       
909        <li><a href="#module-Auto::Response" title="データファイルの指定にしたがって反応する。">Auto::Response</a></li>
910       
911        <li><a href="../module-toc.html">モジュール一覧に戻る</a></li>
912      </ul>
913    </div>
914  </body>
915</html>
Note: See TracBrowser for help on using the browser.