File: Auto.html

package info (click to toggle)
tiarra 20100212-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,732 kB
  • ctags: 1,712
  • sloc: perl: 32,032; lisp: 193; sh: 109; makefile: 10
file content (1110 lines) | stat: -rw-r--r-- 57,432 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
	  PUBLIC "-//W3C//DTD XHTML 1.1//EN"
	  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!-- $Id: contents.html 11393 2008-05-11 06:56:12Z topia $ -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Auto 関係のモジュール - Tiarra Documentation</title>
    <link rel="stylesheet" type="text/css" href="../default.css" />
  </head>
  <body>
    <div class="header">
      <h1>Auto 関係のモジュール</h1>
    </div>

    <hr class="sep" />

    <div class="pane-main">
      
      <div id="module-Auto::Alias" class="module">
        <div class="module-header"><h2 title="ユーザエイリアス情報の管理を行ないます。">Auto::Alias</h2>
          <span class="description">ユーザエイリアス情報の管理を行ないます。</span></div>
        <div class="content">
	  <p class="comment">
エイリアスは基本的にname,userの二つのフィールドから成っており、<br />
それぞれユーザー名、ユーザーマスクを表します。<br />
</p>
<p class="comment">
&nbsp;エイリアス定義ファイルのパスと、そのエンコーディング。<br />
&nbsp;このファイルは次のようなフォーマットである。<br />
&nbsp;1. それぞれの行は「&lt;キー&gt;: &lt;値&gt;」の形式である。<br />
&nbsp;2. 空の行で、各ユーザーを区切る。<br />
&nbsp;3. &lt;値&gt;はカンマで区切られて複数の値とされる。<br />
<br />
&nbsp;エイリアス定義ファイルの例:<br />
<br />
&nbsp;name: sample<br />
&nbsp;user: *!*sample@*.sample.net<br />
<br />
&nbsp;name: sample2,[sample2]<br />
&nbsp;user: *!sample2@*.sample.net,*!sample2@*.sample2.net<br />
<br />
</p>
<div class="element"><span class="key">alias</span>:<span class="value">alias.txt</span></div>
<div class="element"><span class="key">alias-encoding</span>:<span class="value">euc</span></div>
<p class="comment">
この発言をした人のエイリアスが登録されていれば、それをprivで送る。<br />
</p>
<div class="element"><span class="key">confirm</span>:<span class="value">エイリアス確認</span></div>
<p class="comment">
「&lt;addで指定したキーワード&gt; user *!*user@*.user.net」のようにして情報を追加。<br />
発言をした人のエイリアスが未登録だった場合は、userのみ受け付けて新規追加とする。<br />
</p>
<div class="element"><span class="key">add</span>:<span class="value">エイリアス追加</span></div>
<p class="comment">
「&lt;removeで指定したキーワード&gt; name ユーザー」のようにして情報を削除。<br />
userを全て削除されたエイリアスは他の情報(name等)も含めて消滅する。<br />
</p>
<div class="element"><span class="key">remove</span>:<span class="value">エイリアス削除</span></div>
<p class="comment">
メッセージが追加されたときの反応を指定します。<br />
ランダムなメッセージを発言する際のフォーマットを指定します。<br />
エイリアス置換が有効です。#(nick.now)、#(channel)は<br />
それぞれ相手のnick、チャンネル名に置換されます。<br />
#(key)、#(value)は、追加されたキーと値に置換されます。<br />
</p>
<div class="element"><span class="key">added-format</span>:<span class="value">#(name|nick.now): エイリアス #(key) に #(value) を追加しました。</span></div>
<div class="element"><span class="key">add-failed-format</span>:<span class="value">#(name|nick.now): エイリアス #(key) の追加に失敗しました。</span></div>
<p class="comment">
メッセージが削除されたときの反応を指定します。<br />
added-formatで指定できるものと同じです。<br />
</p>
<div class="element"><span class="key">removed-format</span>:<span class="value">#(name|nick.now): エイリアス #(key) から #(value) を削除しました。</span></div>
<div class="element"><span class="key">remove-failed-format</span>:<span class="value">#(name|nick.now): エイリアス #(key) からの削除に失敗しました。</span></div>
<p class="comment">
エイリアスの追加や削除が許されている人。省略された場合は「*!*@*」と見做される。<br />
</p>
<div class="element"><span class="key">modifier</span>:<span class="value">*!*@*</span></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Answer" class="module">
        <div class="module-header"><h2 title="特定の発言に反応して対応する発言をする。">Auto::Answer</h2>
          <span class="description">特定の発言に反応して対応する発言をする。</span></div>
        <div class="content">
	  <p class="comment">
Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
</p>
<p class="comment">
&nbsp;反応する発言と、それに対する返事を定義します。<br />
&nbsp;エイリアス置換が有効です。#(nick.now)と$(channel)はそれぞれ<br />
&nbsp;相手の現在のnickとチャンネル名に置換されます。<br />
<br />
&nbsp;コマンド: reply<br />
&nbsp;書式: &lt;反応する発言のマスク&gt; &lt;それに対する返事&gt;<br />
&nbsp;例:<br />
</p>
<div class="element"><span class="key">reply</span>:<span class="value">こんにちは* こんにちは、#(name|nick.now)さん。</span></div>
<p class="comment">
&nbsp;この例では誰かが「こんにちは」で始まる発言をすると、<br />
&nbsp;発言した人のエイリアスを参照して「こんにちは、○○さん。」のように発言します。<br />
<br />
&nbsp;コマンド: channel-reply<br />
&nbsp;書式: &lt;反応するチャンネルのマスク&gt; &lt;反応する発言のマスク&gt; &lt;それに対する返事&gt;<br />
&nbsp;例:<br />
</p>
<div class="element"><span class="key">channel-reply</span>:<span class="value">#あいさつ@ircnet こんにちは* こんにちは、#(name|nick.now)さん。</span></div>
<p class="comment">
&nbsp;この例では#あいさつ@ircnetで誰かが「こんにちは」で始まる発言をすると、<br />
&nbsp;発言した人のエイリアスを参照して「こんにちは、○○さん。」のように発言します。<br />
<br />
&nbsp;コマンド: answer-to-myself<br />
&nbsp;書式: &lt;真偽値&gt;<br />
&nbsp;例:<br />
</p>
<div class="element"><span class="key">answer-to-myself</span>:<span class="value">on</span></div>
<p class="comment">
自分の発言にも反応するようになります。<br />
デフォルトは off です。<br />
</p>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Calc" class="module">
        <div class="module-header"><h2 title="Perlの式を計算させるモジュール。">Auto::Calc</h2>
          <span class="description">Perlの式を計算させるモジュール。</span></div>
        <div class="content">
	  <p class="comment">
反応する発言を指定します。<br />
</p>
<div class="element"><span class="key">request</span>:<span class="value">計算</span></div>
<p class="comment">
使用を許可する人&amp;チャンネルのマスク。<br />
例はTiarraモード時。 [default: なし]<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* +*!*@*</span></div>
<p class="comment">
[plum-mode] mask: +*!*@*<br />
</p>
<p class="comment">
結果が未定義だったときに置き換えられる文字列。省略されると undef 。<br />
</p>
<div class="element"><span class="key">undef</span>:<span class="value">(未定義)</span></div>
<p class="comment">
正常に計算できたときのフォーマット<br />
method: 計算式, result: 結果, error: エラー, signal: シグナル<br />
</p>
<div class="element"><span class="key">reply-format</span>:<span class="value">#(method): #(result)</span></div>
<p class="comment">
エラーが起きたときのフォーマット<br />
method: 計算式, result: 結果, error: エラー, signal: シグナル<br />
</p>
<div class="element"><span class="key">error-format</span>:<span class="value">#(method): エラーです。(#(error))</span></div>
<p class="comment">
シグナルが発生したときのフォーマット<br />
</p>
<div class="element"><span class="key">signal-format</span>:<span class="value">#(method): シグナルです。(#(signal))</span></div>
<p class="comment">
signal-$SIGNALNAME-format 形式。<br />
$SIGNALNAME には現状 alarm/sigfpe があります。<br />
該当がなければ signal-format にフォールバックします。<br />
</p>
<p class="comment">
いくつかの例を挙げます。<br />
</p>
<div class="element"><span class="key">signal-alarm-format</span>:<span class="value">#(method): 時間切れです。</span></div>
<div class="element"><span class="key">signal-sigfpe-format</span>:<span class="value">#(method): 浮動小数点計算例外です。</span></div>
<p class="comment">
タイムアウトする秒数を指定します。 alarm に渡されます。<br />
再帰を止めるのに使えますが、どうもメモリリークしていそうな雰囲気です。<br />
</p>
<div class="element"><span class="key">timeout</span>:<span class="value">1</span></div>
<p class="comment">
サブルーチン定義を許可するかどうかを指定する。<br />
再帰定義が可能なので、許可する場合はこのモジュール専用の<br />
Tiarra を動かすことをお勧めします。<br />
</p>
<div class="element"><span class="key">permit-sub</span>:<span class="value">0</span></div>
<p class="comment">
初期化する発言を指定します。<br />
このモジュールでは現状変数や関数定義などを行えます。<br />
このコマンドが発行されるとそれらをクリアします。<br />
</p>
<div class="element"><span class="key">init</span>:<span class="value">計算初期化</span></div>
<p class="comment">
初期化を許可する人&amp;チャンネルのマスク。<br />
例はTiarraモード時。 [default: なし]<br />
</p>
<div class="element"><span class="key">init-mask</span>:<span class="value">* +*!*@*</span></div>
<p class="comment">
[plum-mode] mask: +*!*@*<br />
</p>
<p class="comment">
再初期化したときの発言を指定します。<br />
</p>
<div class="element"><span class="key">init-format</span>:<span class="value">初期化しました。</span></div>
<p class="comment">
別の shared-mode な System::WebClient からの発言に対応(yes/no).<br />
自分自身の発言は未対応.<br />
[default: no]<br />
</p>
<div class="element"><span class="key">support-shared-webclient</span>:<span class="value">no</span></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::ChannelWithoutOper" class="module">
        <div class="module-header"><h2 title="チャンネルオペレータ権限がなくなってしまったときに発言する。">Auto::ChannelWithoutOper</h2>
          <span class="description">チャンネルオペレータ権限がなくなってしまったときに発言する。</span></div>
        <div class="content">
	  <p class="comment">
+で始まらない特定のチャンネルで、+aモードでも+rモードでもないのに<br />
誰もチャンネルオペレータ権限を持っていない状態になっている時、<br />
そこに誰かがJOINする度に特定のメッセージを発言するモジュールです。<br />
</p>
<p class="comment">
書式: &lt;チャンネル名&gt; &lt;メッセージ&gt;<br />
</p>
<div class="element"><span class="key">channel</span>:<span class="value">#IRC談話室@ircnet なると消失しました。</span></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::FetchTitle" class="module">
        <div class="module-header"><h2 title="発言に含まれるURLからタイトルを取得.">Auto::FetchTitle</h2>
          <span class="description">発言に含まれるURLからタイトルを取得.</span></div>
        <div class="content">
	  <p class="comment">
リクエストタイムアウトまでの時間(秒).<br />
</p>
<div class="element"><span class="key">timeout</span>:<span class="value">3</span></div>
<p class="comment">
&nbsp;有効にするチャンネルとオプションとURLの設定.<br />
&nbsp;書式: mask: &lt;channel&gt; [&lt;&amp;conf&gt;...] &lt;url&gt;<br />
<br />
&nbsp;mask: #test@ircnet &amp;test http://*<br />
&nbsp;mask: * http://*<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* http://*</span></div>
<p class="comment">
&nbsp;&amp;test と設定すると conf-test ブロックの中身が使われる.<br />
conf-test {<br />
&nbsp;&nbsp;auth-test1 {<br />
&nbsp;&nbsp;&nbsp;&nbsp;url:  http://example.com/*<br />
&nbsp;&nbsp;&nbsp;&nbsp;url:  http://example.org/*<br />
&nbsp;&nbsp;&nbsp;&nbsp;user: test<br />
&nbsp;&nbsp;&nbsp;&nbsp;#pass: test<br />
&nbsp;&nbsp;&nbsp;&nbsp;pass: {BASE64}dGVzdAo=<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;filter-xx {<br />
&nbsp;&nbsp;&nbsp;&nbsp;url:  http://example.com/*/xx/*<br />
&nbsp;&nbsp;&nbsp;&nbsp;type: xx<br />
&nbsp;&nbsp;}<br />
}<br />
</p>
<p class="comment">
お返事の前や後ろにつける字句.<br />
</p>
<div class="element"><span class="key">reply-prefix</span>:<span class="value">"(FetchTitle) "</span></div>
<div class="element"><span class="key">reply-suffix</span>:<span class="value">" [AR]"</span></div>
<p class="comment">
&nbsp;デバッグフラグ.<br />
debug: 0<br />
debug-mask: #debug-chan your_nick!~you@example.com<br />
debug-dumpfile: fetchtitle.log<br />
</p>
<p class="comment">
NOTE:<br />
&nbsp;利用するにはCodeReposから<br />
&nbsp;module/Tools/HTTPClient.pm     rev.8220<br />
&nbsp;main/Tiarra/Socket/Buffered.pm rev.8219<br />
&nbsp;以降が必要です.<br />
</p>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::FetchTitle::Plugin::ExtractHeading" class="module">
        <div class="module-header"><h2 title="本文から見出しを抽出するFetchTitleプラグイン.">Auto::FetchTitle::Plugin::ExtractHeading</h2>
          <span class="description">本文から見出しを抽出するFetchTitleプラグイン.</span></div>
        <div class="content">
	  <p class="comment">
Auto::FetchTitle { ... } での設定.<br />
+ Auto::FetchTitle {<br />
&nbsp;&nbsp;&nbsp;&nbsp;plugins {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExtractHeading {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extra: name1 name2 ...<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extra-name1 {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url:        http://www.example.com/*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recv_limit: 10*1024<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extract:    re:&lt;div id=&quot;title&quot;&gt;(.*?)&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;}<br />
</p>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::FetchTitle::Plugin::Mixi" class="module">
        <div class="module-header"><h2 title="Mixiにログインして見出し抽出出来るようにするFetchTitleプラグイン.">Auto::FetchTitle::Plugin::Mixi</h2>
          <span class="description">Mixiにログインして見出し抽出出来るようにするFetchTitleプラグイン.</span></div>
        <div class="content">
	  <p class="comment">
&nbsp;Auto::FetchTitle { ... } での設定.<br />
<br />
&nbsp;+ Auto::FetchTitle {<br />
&nbsp;&nbsp;&nbsp;&nbsp;mask: #* &amp;mixi http://*<br />
&nbsp;&nbsp;&nbsp;&nbsp;plugins {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mixi {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mixi-user: xxx<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mixi-pass: yyy<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;conf-mixi {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter-mixi {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url: http://mixi.jp/*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url: http://news.mixi.jp/*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type: mixi<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeout: 10<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#閲覧可能なコミュニティの指定.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#mixi-community: 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#閲覧可能なユーザの指定.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#指定したユーザには足跡踏んで見に行きます.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#mixi-friend:    0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#閲覧可能にしていないページを表示したときのメッセージ.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#要求されたページを #(url) で展開できます.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#mixi-noperm-msg: not permitted #(url).<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
<br />
&nbsp;アカウント情報は plugins Mixi に記述.<br />
&nbsp;mixi-pass には {B}bbbb でBASE64エンコード値も可能.<br />
<br />
&nbsp;newsだけしか使わない場合でも, ログイン処理が必要なので<br />
&nbsp;mixi.jp 内のいくつかのURLはこのプラグインで処理する必要があります.<br />
&nbsp;&nbsp;&nbsp;url: http://news.mixi.jp/*<br />
&nbsp;&nbsp;&nbsp;url: http://mixi.jp/issue_ticket.pl?*<br />
&nbsp;&nbsp;&nbsp;url: http://mixi.jp/login.pl<br />
&nbsp;&nbsp;&nbsp;url: http://mixi.jp/check.pl?*<br />
&nbsp;(それぞれ, ニュースページ, ログイン処理, エラー検出, 途中経路になります.)<br />
</p>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Im" class="module">
        <div class="module-header"><h2 title="名前が呼ばれると、その発言をim.kayac.comに送信する">Auto::Im</h2>
          <span class="description">名前が呼ばれると、その発言をim.kayac.comに送信する</span></div>
        <div class="content">
	  <p class="comment">
反応する人のマスクを指定します。<br />
省略すると全員に反応します。<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
<p class="comment">
反応するキーワードを正規表現で指定します。<br />
複数指定したい時は複数行指定してください。<br />
</p>
<div class="element"><span class="key">regex-keyword</span>:<span class="value">(?i:fugahoge)</span></div>
<p class="comment">
反応するキーワードを指定します。<br />
複数指定したい時は,(コンマ)で区切るか、複数行指定してください。<br />
</p>
<div class="element"><span class="key">keyword</span>:<span class="value">hoge</span></div>
<p class="comment">
im.kayac.com に送るメッセージのフォーマットを指定します。<br />
デフォルト値: [tiarra][#(channel):#(nick.now)] #(text)<br />
#(channel) のかわりに #(raw_channel) を利用するとネットワーク名がつきません。<br />
</p>
<div class="element"><span class="key">format</span>:<span class="value">[tiarra][#(channel):#(nick.now)] #(text)</span></div>
<p class="comment">
im.kayac.comで登録したユーザ名を入力します。<br />
im.kayac.comについては http://im.kayac.com/#docs を参考にしてください。<br />
</p>
<div class="element"><span class="key">user</span>:<span class="value">username</span></div>
<p class="comment">
im.kayac.comで秘密鍵認証を選択した場合は設定してください。<br />
省略すると認証なしになります。<br />
</p>
<div class="element"><span class="key">secret</span>:<span class="value">some secret</span></div>
<p class="comment">
im.kayac.comでパスワード認証を選択した場合は設定してください。<br />
省略すると認証なしになります。<br />
secret と両方指定した場合は secret が優先されています。<br />
</p>
<div class="element"><span class="key">password</span>:<span class="value">some password</span></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Joined" class="module">
        <div class="module-header"><h2 title="特定のチャンネルに誰かがJOINする度に特定のメッセージを発言する。">Auto::Joined</h2>
          <span class="description">特定のチャンネルに誰かがJOINする度に特定のメッセージを発言する。</span></div>
        <div class="content">
	  <p class="comment">
Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
</p>
<p class="comment">
&nbsp;発言を行なうチャンネルと、その内容を定義します。<br />
&nbsp;#(nick.now)と$(channel)は、それぞれ相手の現在のnickとチャンネル名に置換されます。<br />
<br />
&nbsp;書式: &lt;チャンネル名&gt; &lt;発言内容&gt;<br />
</p>
<div class="element"><span class="key">channel</span>:<span class="value">#チャンネル@ircnet   「#ちゃんねる」に移転しました。</span></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::MesMail" class="module">
        <div class="module-header"><h2 title="伝言をメールとして送信する。">Auto::MesMail</h2>
          <span class="description">伝言をメールとして送信する。</span></div>
        <div class="content">
	  <p class="comment">
メールアドレスはエイリアスの mail を参照します。<br />
</p>
<p class="comment">
Fromアドレス。[default: OSのユーザ名]<br />
</p>
<div class="element"><span class="key">from</span>:<span class="value">example1@example.jp</span></div>
<p class="comment">
送信用のキーワード [default: mesmail_send]<br />
</p>
<div class="element"><span class="key">send</span>:<span class="value">速達伝言</span></div>
<p class="comment">
使用を許可する人&amp;チャンネルのマスク。<br />
例はTiarraモード時。 [default: なし]<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* +*!*@*</span></div>
<p class="comment">
[plum-mode] mask: +*!*@*<br />
</p>
<p class="comment">
maskで拒否されたときのメッセージ [default: なし]<br />
</p>
<div class="element"><span class="key">deny</span>:<span class="value">伝言したくない。</span></div>
<p class="comment">
一度に送れる宛先の量 [default: 無制限]<br />
</p>
<div class="element"><span class="key">max-send-address</span>:<span class="value">5</span></div>
<p class="comment">
宛先を探すエイリアスエントリ [default: なし]<br />
</p>
<div class="element"><span class="key">alias-key</span>:<span class="value">name</span></div>
<div class="element"><span class="key">alias-key</span>:<span class="value">nick</span></div>
<p class="comment">
宛先の人を判別出来なかったときのメッセージ [default: なし]<br />
</p>
<div class="element"><span class="key">unknown</span>:<span class="value">#(who)さんと言うのは誰ですか?</span></div>
<p class="comment">
メールの日付形式<br />
</p>
<div class="element"><span class="key">date</span>:<span class="value">%H:%M:%S</span></div>
<p class="comment">
エイリアスは見付かったけれどメールアドレスが登録されていなかったときのメッセージ。 [default: なし]<br />
</p>
<div class="element"><span class="key">none-address</span>:<span class="value">#(who)さんはアドレスを登録していません。</span></div>
<p class="comment">
SMTPのホスト [default: localhost]<br />
</p>
<div class="element"><span class="key">smtphost</span>:<span class="value">localhost</span></div>
<p class="comment">
SMTPのポート [default: smtp(25)]<br />
</p>
<div class="element"><span class="key">smtpport</span>:<span class="value">25</span></div>
<p class="comment">
SMTPで自ホストのFQDN [default: localhost]<br />
</p>
<div class="element"><span class="key">smtpfqdn</span>:<span class="value">localhost</span></div>
<p class="comment">
SMTPのユーザ。指定されれば SMTP Auth を行う [default: なし]<br />
</p>
<div class="element"><span class="key">smtpuser</span>:<span class="value">example1</span></div>
<p class="comment">
SMTPのパスワード [default: 空パスワード(&#39;&#39;)]<br />
</p>
<div class="element"><span class="key">smtppass</span>:<span class="value">test-password</span></div>
<p class="comment">
送信するメールの既定件名(エイリアス使用不可) [default: Message from IRC]<br />
</p>
<div class="element"><span class="key">subject</span>:<span class="value">Message from IRC</span></div>
<p class="comment">
送信するメールの本文 [default: #(date) &lt;&lt; #(from.name|from.nick|from.nick.now) &gt;&gt; #(message)]<br />
</p>
<div class="element"><span class="key">format</span>:<span class="value">#(date)に#(from.name|from.nick|from.nick.now)さんから#(message)という伝言です。</span></div>
<p class="comment">
送信したときのメッセージ。 [default: なし]<br />
</p>
<div class="element"><span class="key">accept</span>:<span class="value">#(who)さんに#(message)と伝言しておきました。</span></div>
<p class="comment">
---- POP before SMTP の指定 ----<br />
POP before SMTPを使う。 [default: no]<br />
</p>
<div class="element"><span class="key">use-pop3</span>:<span class="value">yes</span></div>
<p class="comment">
POP before SMTPのタイムアウト時間(分)。分からない場合は指定しなくて良い。 [default: 0]<br />
</p>
<div class="element"><span class="key">pop3-expire</span>:<span class="value">4</span></div>
<p class="comment">
POPのホスト。 [default: localhost]<br />
</p>
<div class="element"><span class="key">pop3host</span>:<span class="value">localhost</span></div>
<p class="comment">
POPのポート。 [default: pop(110)]<br />
</p>
<div class="element"><span class="key">pop3port</span>:<span class="value">110</span></div>
<p class="comment">
POPのユーザ [default: OSのユーザ名]<br />
</p>
<div class="element"><span class="key">pop3user</span>:<span class="value">example1</span></div>
<p class="comment">
POPのパスワード [default: 空パスワード(&#39;&#39;)]<br />
</p>
<div class="element"><span class="key">pop3pass</span>:<span class="value">test-password</span></div>
<p class="comment">
---- エラーメッセージの設定 ----<br />
</p>
<p class="comment">
一般エラー。<br />
error-[state] と言う形式で詳細エラーメッセージを指定できる。<br />
[state]は、<br />
&nbsp;&nbsp;&nbsp;* mailfrom(メールの送信者を指定しようとしてエラー)<br />
&nbsp;&nbsp;&nbsp;* rcptto(メールの送信先を指定しようとしてエラー)<br />
&nbsp;&nbsp;&nbsp;* norcptto(メールの送信先が全部無くなった)<br />
&nbsp;&nbsp;&nbsp;* data(メールの中身を送信しようとしてエラー)<br />
&nbsp;&nbsp;&nbsp;* finish(メールの中身を送信したらエラー)<br />
がある。特に欲しくなければerror-[state]は指定しなくても構わない。<br />
メッセージを出したくないなら中身の無いエントリを指定すれば良い。<br />
error-[state]が指定されてない場合は代わりに error を使う。 [default: 未定義]<br />
</p>
<div class="element"><span class="key">error-rcptto</span>:<span class="value"></span></div>
<div class="element"><span class="key">error-norcptto</span>:<span class="value">#(who)さんには送れませんでした。送信できるメールアドレスがありません。</span></div>
<div class="element"><span class="key">error-data</span>:<span class="value">メールが送信できません。DATAコマンドに失敗しました。#(line;サーバ応答:%s|;)</span></div>
<div class="element"><span class="key">error</span>:<span class="value">メール送信エラーです。#(line;サーバ応答:%s|;)#(state; on %s|;)</span></div>
<p class="comment">
致命的なエラー。メールに個別なエラーではないので送信者(のprefix)毎に1メッセージ送られる。<br />
fatalerror-[state]<br />
[state]:<br />
&nbsp;&nbsp;&nbsp;* first(接続エラー)<br />
&nbsp;&nbsp;&nbsp;* helo(SMTPセッションを開始出来ない)<br />
がある。特に欲しくなければfatalerror-[state]は指定しなくても構わない。<br />
メッセージを出したくないなら中身の無いエントリを指定すれば良い。<br />
fatalerror-[state]が指定されてない場合は代わりに fatalerror を使う。 [default: 未定義]<br />
</p>
<div class="element"><span class="key">fatalerror-first</span>:<span class="value">SMTPサーバに接続できません。</span></div>
<div class="element"><span class="key">fatalerror</span>:<span class="value">SMTPセッションで致命的なエラーがありました。#(line; サーバ応答:%s|;)#(state; on %s|;)</span></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Notify" class="module">
        <div class="module-header"><h2 title="名前が呼ばれると、その発言をim.kayac.comに送信する">Auto::Notify</h2>
          <span class="description">名前が呼ばれると、その発言をim.kayac.comに送信する</span></div>
        <div class="content">
	  <p class="comment">
反応する人のマスクを指定します。<br />
省略すると全員に反応します。<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
<p class="comment">
反応するキーワードを正規表現で指定します。<br />
複数指定したい時は複数行指定してください。<br />
</p>
<div class="element"><span class="key">regex-keyword</span>:<span class="value">(?i:fugahoge)</span></div>
<p class="comment">
反応するキーワードを指定します。<br />
複数指定したい時は,(コンマ)で区切るか、複数行指定してください。<br />
</p>
<div class="element"><span class="key">keyword</span>:<span class="value">hoge</span></div>
<p class="comment">
メッセージのフォーマットを指定します。<br />
デフォルト値: [tiarra][#(channel):#(nick.now)] #(text)<br />
#(channel) のかわりに #(raw_channel) を利用するとネットワーク名がつきません。<br />
</p>
<div class="element"><span class="key">format</span>:<span class="value">[tiarra][#(channel):#(nick.now)] #(text)</span></div>
<p class="comment">
使用するブロックを指定します<br />
</p>
<div class="element"><span class="key">blocks</span>:<span class="value">im prowl</span></div>
<div class="block element"><span class="block key">im</span>
<div class="block content">
<p class="comment">
通知先のタイプを指定します。<br />
</p>
<div class="element"><span class="key">type</span>:<span class="value">im_kayac</span></div>
<p class="comment">
im.kayac.comで登録したユーザ名を入力します。<br />
im.kayac.comについては http://im.kayac.com/#docs を参考にしてください。<br />
</p>
<div class="element"><span class="key">user</span>:<span class="value">username</span></div>
<p class="comment">
im.kayac.comで秘密鍵認証を選択した場合は設定してください。<br />
省略すると認証なしになります。<br />
</p>
<div class="element"><span class="key">secret</span>:<span class="value">some secret</span></div>
<p class="comment">
im.kayac.comでパスワード認証を選択した場合は設定してください。<br />
省略すると認証なしになります。<br />
secret と両方指定した場合は secret が優先されています。<br />
</p>
<div class="element"><span class="key">password</span>:<span class="value">some password</span></div>
</div></div>
<div class="block element"><span class="block key">prowl</span>
<div class="block content">
<p class="comment">
通知先のタイプを指定します。<br />
</p>
<div class="element"><span class="key">type</span>:<span class="value">prowl</span></div>
<p class="comment">
通知先ごとにフォーマットを指定できます。<br />
この例では先頭に時刻を追加しています。<br />
</p>
<div class="element"><span class="key">format</span>:<span class="value">#(date:%H:%M:%S) [#(channel):#(nick.now)] #(text)</span></div>
<p class="comment">
Prowl で表示された apikey を入力します。<br />
Prowl については http://prowl.weks.net/ を参考にしてください。<br />
</p>
<div class="element"><span class="key">apikey</span>:<span class="value">XXXXXX</span></div>
<p class="comment">
http://forums.cocoaforge.com/viewtopic.php?f=45&amp;t=20339<br />
</p>
<div class="element"><span class="key">priority</span>:<span class="value">0</span></div>
<div class="element"><span class="key">application</span>:<span class="value">tiarra</span></div>
<div class="element"><span class="key">event</span>:<span class="value">keyword</span></div>
</div></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Oper" class="module">
        <div class="module-header"><h2 title="特定の文字列を発言した人を+oする。">Auto::Oper</h2>
          <span class="description">特定の文字列を発言した人を+oする。</span></div>
        <div class="content">
	  <p class="comment">
Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
</p>
<p class="comment">
+oを要求する文字列(マスク)を指定します。<br />
</p>
<div class="element"><span class="key">request</span>:<span class="value">なると寄越せ</span></div>
<p class="comment">
チャンネルオペレータ権限を要求した人と要求されたチャンネルが<br />
ここで指定したマスクに一致しなかった場合は<br />
denyで指定した文字列を発言し、+oをやめます。<br />
省略された場合は誰にも+oしません。<br />
書式は「チャンネル 発言者」です。<br />
マッチングのアルゴリズムは次の通りです。<br />
1. チャンネル名にマッチするmask定義を全て集める<br />
2. 集まった定義の発言者マスクを、定義された順にカンマで結合する<br />
3. そのようにして生成されたマスクで発言者のマッチングを行ない、結果を+o可能性とする。<br />
例1:<br />
mask: *@2ch* *!*@*<br />
mask: #*@ircnet* *!*@*.hoge.jp<br />
この例ではネットワーク 2ch の全てのチャンネルで誰にでも +o し、<br />
ネットワーク ircnet の # で始まる全てのチャンネルでホスト名 *.hoge.jp の人に+oします。<br />
#*@ircnetだと「#hoge@ircnet:*.jp」などにマッチしなくなります。<br />
例2:<br />
mask: #hoge@ircnet -*!*@*,+*!*@*.hoge.jp<br />
mask: *            +*!*@*<br />
基本的に全てのチャンネルで誰にでも +o するが、例外的に#hoge@ircnetでは<br />
ホスト名 *.hoge.jp の人にしか +o しない。<br />
この順序を上下逆にすると、全てのチャンネルで全ての人を +o する事になります。<br />
何故なら最初の* +*!*@*が全ての人にマッチするからです。<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
<p class="comment">
+oを要求した人を実際に+oする時、ここで指定した発言をしてから+oします。<br />
#(name|nick)のようなエイリアス置換を行います。<br />
エイリアス以外でも、#(nick.now)を相手のnickに、#(channel)を<br />
そのチャンネル名にそれぞれ置換します。<br />
</p>
<div class="element"><span class="key">message</span>:<span class="value">了解</span></div>
<p class="comment">
+oを要求されたが+oすべき相手ではなかった場合の発言。<br />
省略されたら何も喋りません。<br />
</p>
<div class="element"><span class="key">deny</span>:<span class="value">断わる</span></div>
<p class="comment">
+oを要求されたが相手は既にチャンネルオペレータ権限を持っていた場合の発言。<br />
省略されたらdenyに設定されたものを使います。<br />
</p>
<div class="element"><span class="key">oper</span>:<span class="value">既に@を持っている</span></div>
<p class="comment">
+oを要求されたが自分はチャンネルオペレータ権限を持っていなかった場合の発言。<br />
省略されたらdenyに設定されたものを使います。<br />
</p>
<div class="element"><span class="key">not-oper</span>:<span class="value">@が無い</span></div>
<p class="comment">
チャンネルに対してでなく自分に対して+oの要求を行なった場合の発言。<br />
省略されたらdenyに設定されたものを使います。<br />
</p>
<div class="element"><span class="key">private</span>:<span class="value">チャンネルで要求せよ</span></div>
<p class="comment">
チャンネルの外から+oを要求された場合の発言。+nチャンネルでは起こりません。<br />
省略されたらdenyに設定されたものを使います。<br />
</p>
<div class="element"><span class="key">out</span>:<span class="value">チャンネルに入っていない</span></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Outputz" class="module">
        <div class="module-header"><h2 title="チャンネルの発言文字数を outputz に送信する">Auto::Outputz</h2>
          <span class="description">チャンネルの発言文字数を outputz に送信する</span></div>
        <div class="content">
	  <p class="comment">
復活の呪文。<br />
</p>
<div class="element"><span class="key">key</span>:<span class="value">some secret</span></div>
<p class="comment">
送信対象にするコマンドの設定。<br />
省略された場合は PRIVMSG 。<br />
パラメータ1が送信先、パラメータ2が本文でなければ動作しないので、<br />
動作するコマンドは PRIVMSG/NOTICE/TOPIC/PART 程度。<br />
</p>
<div class="element"><span class="key">command</span>:<span class="value">PRIVMSG</span></div>
<p class="comment">
各チャンネルのURIの設定。<br />
記述された順序で検索されるので、全てのチャンネルにマッチする&quot;*&quot;などは最後に書かなければならない。<br />
フォーマットは次の通り。<br />
channel: &lt;URI&gt; (&lt;チャンネル名&gt; / &#39;priv&#39;)@&lt;ネットワーク名&gt;<br />
#(channel) はチャンネル名に、 #(channel_short) はネットワークなしの<br />
チャンネル名に、 #(network) はネットワーク名にそれぞれ置き換えられる。<br />
また、危険な文字は自動的にエスケープされる。<br />
</p>
<div class="element"><span class="key">channel</span>:<span class="value">http://#(network).irc.example.com/#(channel_short) *</span></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Random" class="module">
        <div class="module-header"><h2 title="特定の発言に反応してランダムな発言をします。">Auto::Random</h2>
          <span class="description">特定の発言に反応してランダムな発言をします。</span></div>
        <div class="content">
	  <p class="comment">
Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
</p>
<p class="comment">
使用するブロックの定義。<br />
</p>
<div class="element"><span class="key">blocks</span>:<span class="value">wimikuji</span></div>
<div class="block element"><span class="block key">wimikuji</span>
<div class="block content">
<p class="comment">
ランダムに発言するメッセージの書かれたファイルと、その文字コードを指定します。<br />
ファイルの中では一行に一つのメッセージを書いて下さい。<br />
</p>
<div class="element"><span class="key">file</span>:<span class="value">random.txt</span></div>
<div class="element"><span class="key">file-encoding</span>:<span class="value">euc</span></div>
<p class="comment">
反応する発言を表すマスクを指定します。<br />
</p>
<div class="element"><span class="key">request</span>:<span class="value">ゐみくじ</span></div>
<p class="comment">
メッセージの登録数を返答するキーワードを指定します。<br />
</p>
<div class="element"><span class="key">count-query</span>:<span class="value">ゐみくじ登録数</span></div>
<p class="comment">
メッセージの登録数を返答するときの反応を指定します。<br />
formatで指定できるものと同じです。#(count)は登録数になります。<br />
</p>
<div class="element"><span class="key">count-format</span>:<span class="value">ゐみくじは#(count)件登録されています。</span></div>
<p class="comment">
ランダムなメッセージを発言する際のフォーマットを指定します。<br />
エイリアス置換が有効です。#(message)、#(nick.now)、#(channel)は<br />
それぞれメッセージ内容、相手のnick、チャンネル名に置換されます。<br />
何も登録されていないときのために、#(message|;無登録)のように指定すると良いでしょう。<br />
</p>
<div class="element"><span class="key">format</span>:<span class="value">#(name|nick.now)の運命は#(message)</span></div>
<p class="comment">
反応する人のマスク。<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
<p class="comment">
plum: mask: *!*@*<br />
</p>
<p class="comment">
メッセージが追加されたときの反応を指定します。<br />
formatで指定できるものと同じです。#(message)は追加されたメッセージになります。<br />
</p>
<div class="element"><span class="key">added-format</span>:<span class="value">#(name|nick.now): ゐみくじ #(message) を追加しました。</span></div>
<p class="comment">
メッセージが削除されたときの反応を指定します。<br />
formatで指定できるものと同じです。#(message)は削除されたメッセージになります。<br />
</p>
<div class="element"><span class="key">removed-format</span>:<span class="value">#(name|nick.now): ゐみくじ #(message) を削除しました。</span></div>
<p class="comment">
発言に反応する確率を指定します。百分率です。省略された場合は100と見做されます。<br />
</p>
<div class="element"><span class="key">rate</span>:<span class="value">100</span></div>
<p class="comment">
メッセージを追加するキーワードを指定します。<br />
ここで指定したキーワードを発言すると、新しいメッセージを追加します。<br />
実際の追加方法は「&lt;addで指定したキーワード&gt; &lt;追加するメッセージ&gt;」です。<br />
</p>
<div class="element"><span class="key">add</span>:<span class="value">ゐみくじ追加</span></div>
<p class="comment">
メッセージを削除するキーワードを指定します。<br />
実際の削除方法は「&lt;removeで指定したキーワード&gt; &lt;削除するキーワード&gt;」です。<br />
</p>
<div class="element"><span class="key">remove</span>:<span class="value">ゐみくじ削除</span></div>
<p class="comment">
addとremoveを許可する人。省略された場合は誰も変更できません。<br />
</p>
<div class="element"><span class="key">modifier</span>:<span class="value">* *!*@*</span></div>
<p class="comment">
plum: modifier: *!*@*<br />
</p>
</div></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Reply" class="module">
        <div class="module-header"><h2 title="特定の発言に反応して発言をします。">Auto::Reply</h2>
          <span class="description">特定の発言に反応して発言をします。</span></div>
        <div class="content">
	  <p class="comment">
Auto::Aliasを有効にしていれば、エイリアス置換を行ないます。<br />
</p>
<p class="comment">
使用するブロックの定義。<br />
省略すると std を使用.<br />
複数個の blocks の指定も可能.<br />
</p>
<div class="element"><span class="key">blocks</span>:<span class="value">std</span></div>
<div class="block element"><span class="block key">std</span>
<div class="block content">
<p class="comment">
1つの応答ブロックの定義.<br />
一応全ての項目が省略可能ではあるけれど,<br />
通常は最低限 file と file-encoding を使用する.<br />
IRCで応答の追加削除等を行いたいときにはそれに更に設定を追加する形.<br />
(IRC上で応答の追加削除は行うが保存はしない時に限ってfileを省略可能.)<br />
</p>
<p class="comment">
機能:<br />
- 通常応答(mask)<br />
- 登録数確認(count-query/mask)<br />
- 反応確認(request/modifier)<br />
- 反応追加(add/modifier)<br />
- 反応削除(remove/modifier)<br />
通常応答以外は設定を省略することで機能を無効にできます。<br />
</p>
<p class="comment">
データファイルと文字コードを指定します。<br />
ファイルの中では一行に一つの&quot;反応マスク:メッセージ&quot;を書いて下さい。<br />
</p>
<div class="element"><span class="key">file</span>:<span class="value">reply.txt</span></div>
<div class="element"><span class="key">file-encoding</span>:<span class="value">euc</span></div>
<p class="comment">
1つの発言で複数の反応マスクにマッチする場合,<br />
どれにマッチするかは未定義です.<br />
ただ, どちらか1つにのみマッチします.<br />
</p>
<p class="comment">
同じ反応マスクに複数個のメッセージが記述してあった場合の処理.<br />
multivalue: random #==&gt; ランダムに1つ選択.<br />
multivalue: all    #==&gt; 全て返す.<br />
multivalue: seq    #==&gt; 順番に1つずつ返す.<br />
省略時及び認識できなかったときは random.<br />
</p>
<div class="element"><span class="key">multivalue</span>:<span class="value">random</span></div>
<p class="comment">
返す最大行数.<br />
multivalue: all の時のみ有効.<br />
(それ以外の時は1行しか返さない)<br />
デフォルトは 5 行まで.<br />
</p>
<div class="element"><span class="key">multivalue-limit</span>:<span class="value">5</span></div>
<p class="comment">
反応する人のマスク。<br />
通常応答と登録数の返答時にチェックされる。<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
<p class="comment">
plum: mask: *!*@*<br />
</p>
<p class="comment">
マッチした1つの反応マスクが実際に発言に反応する確率を指定します。<br />
百分率です。省略された場合は100と見做されます。<br />
</p>
<div class="element"><span class="key">rate</span>:<span class="value">100</span></div>
<p class="comment">
メッセージの登録数を返答するキーワードを指定します。<br />
省略するとこの機能は無効になります。<br />
指定したときだけこの機能が有効になります。<br />
mask で許可された人(通常応答を返す人)が使えます。<br />
</p>
<div class="element"><span class="key">count-query</span>:<span class="value">反応登録数</span></div>
<p class="comment">
メッセージの登録数を返答するときの反応を指定します。<br />
formatで指定できるものと同じです。#(count)は登録数になります。<br />
count-query を指定したときのみ必要。<br />
</p>
<div class="element"><span class="key">count-format</span>:<span class="value">反応は#(count)件登録されています。</span></div>
<p class="comment">
メッセージを追加するキーワードを指定します。<br />
ここで指定したキーワードを発言すると、新しいメッセージを追加します。<br />
実際の追加方法は「&lt;addで指定したキーワード&gt; &lt;追加するメッセージ&gt;」です。<br />
省略するとこの機能は無効になります。<br />
指定したときだけこの機能が有効になります。<br />
modifier で許可された人だけ使えます。<br />
</p>
<div class="element"><span class="key">add</span>:<span class="value">反応追加</span></div>
<p class="comment">
反応が追加されたときの反応を指定します。<br />
formatで指定できるものと同じです。#(message)は追加されたメッセージになります。<br />
</p>
<div class="element"><span class="key">added-format</span>:<span class="value">#(name|nick.now): #(key) に対する反応 #(message) を追加しました。</span></div>
<p class="comment">
メッセージを削除するキーワードを指定します。<br />
実際の削除方法は「&lt;removeで指定したキーワード&gt; &lt;削除するキーワード&gt;」です。<br />
省略するとこの機能は無効になります。<br />
指定したときだけこの機能が有効になります。<br />
modifier で許可された人だけ使えます。<br />
</p>
<div class="element"><span class="key">remove</span>:<span class="value">反応削除</span></div>
<p class="comment">
メッセージが削除されたときの反応を指定します。<br />
formatで指定できるものと同じです。#(message)は削除されたメッセージになります。<br />
</p>
<div class="element"><span class="key">removed-format</span>:<span class="value">#(name|nick.now): #(key) #(message;に対する反応 %s|;) を #(count) 件削除しました。</span></div>
<p class="comment">
反応の確認を行うためのキーワードを指定します。<br />
通常応答と違って, multivalue-limit の制限を受けずに全てのマッチした応答を返します。<br />
実際の指定方法は、「&lt;requestで指定したキーワード&gt; &lt;チェックしたい発言&gt;」です。<br />
省略するとこの機能は無効になります。<br />
指定したときだけこの機能が有効になります。<br />
modifier で許可された人だけ使えます。<br />
</p>
<div class="element"><span class="key">request</span>:<span class="value">反応チェック</span></div>
<p class="comment">
request に反応するときのフォーマットを指定します。<br />
#(key) がキーワード、 #(message) が発言に置換されます。<br />
request を指定したときのみ必要。<br />
</p>
<div class="element"><span class="key">reply-format</span>:<span class="value">「#(key)」という発言に「#(message)」と反応します。</span></div>
<p class="comment">
request に反応する最大個数(反応マスクの数)を指定します。<br />
(1つの反応マスクに対応するメッセージの数は制限されません。)<br />
あまり大きな値を指定すると、アタックが可能になったり、ログが流れて邪魔なので注意してください。<br />
通常の反応には関与しません。また、応答の行数ではありません。<br />
</p>
<div class="element"><span class="key">max-reply</span>:<span class="value">5</span></div>
<p class="comment">
編集系コマンド, add とremove と request を許可する人。<br />
省略された場合は「* *!*@*」(全員許可)と見做します。<br />
</p>
<div class="element"><span class="key">modifier</span>:<span class="value">* *!*@*</span></div>
<p class="comment">
正規表現拡張を許可するか。省略された場合は禁止します。<br />
</p>
<div class="element"><span class="key">use-re</span>:<span class="value">1</span></div>
</div></div>

        </div>
      </div>

      
      <hr class="sep" />
      
      
      <div id="module-Auto::Response" class="module">
        <div class="module-header"><h2 title="データファイルの指定にしたがって反応する。">Auto::Response</h2>
          <span class="description">データファイルの指定にしたがって反応する。</span></div>
        <div class="content">
	  <p class="comment">
大量の反応データを定義するのに向いています。<br />
</p>
<p class="comment">
データファイルのフォーマット<br />
| pattern: re:^(こん(に)?ちは)<br />
| rate: 90<br />
| mask: * *!*@*<br />
| #plum: mask: *!*@*<br />
| response: こんにちは。<br />
| response: いらっしゃいませ。<br />
|<br />
| pattern: おやすみ<br />
| rate: 20<br />
| response: おやすみなさい。<br />
patternは一行しか書けません。(手抜き<br />
maskもrateも省略できます。省略した場合はmaskは全員、rateは100となります。<br />
responseは複数書いておけばランダムに選択されます。<br />
</p>
<p class="comment">
データファイル<br />
</p>
<div class="element"><span class="key">file</span>:<span class="value">response.txt</span></div>
<p class="comment">
文字コード<br />
</p>
<div class="element"><span class="key">charset</span>:<span class="value">euc</span></div>
<p class="comment">
使用を許可する人&amp;チャンネルのマスク。<br />
</p>
<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div>
<p class="comment">
plum: mask: +*!*@*<br />
</p>

        </div>
      </div>

      
      
    </div>

    <div class="pane-sidebar">
      <ul class="menu">
        
        <li><a href="#module-Auto::Alias" title="ユーザエイリアス情報の管理を行ないます。">Auto::Alias</a></li>
        
        <li><a href="#module-Auto::Answer" title="特定の発言に反応して対応する発言をする。">Auto::Answer</a></li>
        
        <li><a href="#module-Auto::Calc" title="Perlの式を計算させるモジュール。">Auto::Calc</a></li>
        
        <li><a href="#module-Auto::ChannelWithoutOper" title="チャンネルオペレータ権限がなくなってしまったときに発言する。">Auto::ChannelWithoutOper</a></li>
        
        <li><a href="#module-Auto::FetchTitle" title="発言に含まれるURLからタイトルを取得.">Auto::FetchTitle</a></li>
        
        <li><a href="#module-Auto::FetchTitle::Plugin::ExtractHeading" title="本文から見出しを抽出するFetchTitleプラグイン.">Auto::FetchTitle::Plugin::ExtractHeading</a></li>
        
        <li><a href="#module-Auto::FetchTitle::Plugin::Mixi" title="Mixiにログインして見出し抽出出来るようにするFetchTitleプラグイン.">Auto::FetchTitle::Plugin::Mixi</a></li>
        
        <li><a href="#module-Auto::Im" title="名前が呼ばれると、その発言をim.kayac.comに送信する">Auto::Im</a></li>
        
        <li><a href="#module-Auto::Joined" title="特定のチャンネルに誰かがJOINする度に特定のメッセージを発言する。">Auto::Joined</a></li>
        
        <li><a href="#module-Auto::MesMail" title="伝言をメールとして送信する。">Auto::MesMail</a></li>
        
        <li><a href="#module-Auto::Notify" title="名前が呼ばれると、その発言をim.kayac.comに送信する">Auto::Notify</a></li>
        
        <li><a href="#module-Auto::Oper" title="特定の文字列を発言した人を+oする。">Auto::Oper</a></li>
        
        <li><a href="#module-Auto::Outputz" title="チャンネルの発言文字数を outputz に送信する">Auto::Outputz</a></li>
        
        <li><a href="#module-Auto::Random" title="特定の発言に反応してランダムな発言をします。">Auto::Random</a></li>
        
        <li><a href="#module-Auto::Reply" title="特定の発言に反応して発言をします。">Auto::Reply</a></li>
        
        <li><a href="#module-Auto::Response" title="データファイルの指定にしたがって反応する。">Auto::Response</a></li>
        
        <li><a href="../module-toc.html">モジュール一覧に戻る</a></li>
      </ul>
    </div>
  </body>
</html>