Changeset 12849

Show
Ignore:
Timestamp:
05/30/08 22:39:40 (5 years ago)
Author:
topia
Message:

* Merging r12488 through r12848 from trunk.

Location:
lang/perl/tiarra/branches/module-reload
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/tiarra/branches/module-reload/all.conf

    r12487 r12849  
    486486 
    487487  # NOTE: 
    488   #  利用するにはcodereposから 
     488  #  利用するにはCodeReposから 
    489489  #  module/Tools/HTTPClient.pm     rev.8220 
    490490  #  main/Tiarra/Socket/Buffered.pm rev.8219 
     
    823823 
    824824  # 使用するブロックの定義。 
     825  # 省略すると std を使用. 
     826  # 複数個の blocks の指定も可能. 
    825827  blocks: std 
    826828 
    827829  std { 
     830    # 1つの応答ブロックの定義. 
     831    # 一応全ての項目が省略可能ではあるけれど, 
     832    # 通常は最低限 file と file-encoding を使用する. 
     833    # IRCで応答の追加削除等を行いたいときにはそれに更に設定を追加する形. 
     834    # (IRC上で応答の追加削除は行うが保存はしない時に限ってfileを省略可能.) 
     835 
     836    # 機能: 
     837    # - 通常応答 
     838    # - 登録数確認(count-query) 
     839    # - 反応確認(request) 
     840    # - 反応追加(add) 
     841    # - 反応削除(remove) 
     842    # 通常応答以外は設定を省略することで機能を無効にできます。 
     843 
    828844    # データファイルと文字コードを指定します。 
    829     # ファイルの中では一行に一つの"反応:メッセージ"を書いて下さい。 
     845    # ファイルの中では一行に一つの"反応マスク:メッセージ"を書いて下さい。 
    830846    file: reply.txt 
    831847    file-encoding: euc 
    832848 
    833     # 反応チェックを行うキーワードを指定します。 
     849    # 1つの発言で複数の反応マスクにマッチする場合, 
     850    # どれにマッチするかは未定義です. 
     851    # ただ, どちらか1つにのみマッチします. 
     852 
     853    # 同じ反応マスクに複数個のメッセージが記述してあった場合の処理. 
     854    # multivalue: random #==> ランダムに1つ選択. 
     855    # multivalue: all    #==> 全て返す. 
     856    # multivalue: seq    #==> 順番に1つずつ返す. 
     857    # 省略時及び認識できなかったときは random. 
     858    #multivalue: random 
     859    # 返す最大行数. 
     860    # multivalue: all の時のみ有効. 
     861    # (それ以外の時は1行しか返さない) 
     862    # デフォルトは 5 行まで. 
     863    #multivalue-limit: 5 
     864 
     865    # 反応する人のマスク。 
     866    # 通常応答と登録数の返答時にチェックされる。 
     867    mask: * *!*@* 
     868    # plum: mask: *!*@* 
     869 
     870    # このブロックが発言に反応する確率を指定します。 
     871    # 百分率です。省略された場合は100と見做されます。 
     872    rate: 100 
     873 
     874 
     875    # 反応の確認を行うためのキーワードを指定します。 
    834876    # 実際の指定方法は、「<requestで指定したキーワード> <チェックしたい発言>」です。 
     877    # 省略するとこの機能は無効になります。 
     878    # 指定したときだけこの機能が有効になります。 
    835879    request: 反応チェック 
    836880 
    837881    # request に反応するときのフォーマットを指定します。 
    838882    # #(key) がキーワード、 #(message) が発言に置換されます。 
     883    # request を指定したときのみ必要。 
    839884    reply-format: 「#(key)」という発言に「#(message)」と反応します。 
    840885 
    841     # request に反応する最大個数を指定します。 
     886    # request に反応する最大個数(ブロックの数)を指定します。 
    842887    # あまり大きな値を指定すると、アタックが可能になったり、ログが流れて邪魔なので注意してください。 
     888    # 通常の反応には関与しません。また、応答の行数ではありません。 
    843889    max-reply: 5 
    844890 
    845891    # メッセージの登録数を返答するキーワードを指定します。 
     892    # 省略するとこの機能は無効になります。 
     893    # 指定したときだけこの機能が有効になります。 
    846894    count-query: 反応登録数 
    847895 
    848896    # メッセージの登録数を返答するときの反応を指定します。 
    849897    # formatで指定できるものと同じです。#(count)は登録数になります。 
     898    # count-query を指定したときのみ必要。 
    850899    count-format: 反応は#(count)件登録されています。 
    851900 
    852     # 反応する人のマスク。 
    853     mask: * *!*@* 
    854     # plum: mask: *!*@* 
     901    # メッセージを追加するキーワードを指定します。 
     902    # ここで指定したキーワードを発言すると、新しいメッセージを追加します。 
     903    # 実際の追加方法は「<addで指定したキーワード> <追加するメッセージ>」です。 
     904    # 省略するとこの機能は無効になります。 
     905    # 指定したときだけこの機能が有効になります。 
     906    #add: 反応追加 
    855907 
    856908    # 反応が追加されたときの反応を指定します。 
     
    858910    added-format: #(name|nick.now): #(key) に対する反応 #(message) を追加しました。 
    859911 
     912    # メッセージを削除するキーワードを指定します。 
     913    # 実際の削除方法は「<removeで指定したキーワード> <削除するキーワード>」です。 
     914    # 省略するとこの機能は無効になります。 
     915    # 指定したときだけこの機能が有効になります。 
     916    #remove: 反応削除 
     917 
    860918    # メッセージが削除されたときの反応を指定します。 
    861919    # formatで指定できるものと同じです。#(message)は削除されたメッセージになります。 
    862920    removed-format: #(name|nick.now): #(key) #(message;に対する反応 %s|;) を #(count) 件削除しました。 
    863  
    864     # 発言に反応する確率を指定します。百分率です。省略された場合は100と見做されます。 
    865     rate: 100 
    866  
    867     # メッセージを追加するキーワードを指定します。 
    868     # ここで指定したキーワードを発言すると、新しいメッセージを追加します。 
    869     # 実際の追加方法は「<addで指定したキーワード> <追加するメッセージ>」です。 
    870     add: 反応追加 
    871  
    872     # メッセージを削除するキーワードを指定します。 
    873     # 実際の削除方法は「<removeで指定したキーワード> <削除するキーワード>」です。 
    874     remove: 反応削除 
    875921 
    876922    # addとremoveを許可する人。省略された場合は「* *!*@*」と見做します。 
  • lang/perl/tiarra/branches/module-reload/doc-src/conf-main.tdoc

    r11475 r12849  
    6868client-out-encoding: jis 
    6969 
    70 # Tiarraは標準出力に様々なメッセージを出力するが、その文字コードを指定する。省略時にはeucとなる。 
     70# Tiarraは標準出力に様々なメッセージを出力するが、その文字コードを指定する。省略時にはutf8となる。 
    7171# ただしtiarra.confのパースが完了するまでは文字コードの変換は行なわれない(つまりこの設定が有効にならない)ことに注意して下さい。 
    7272stdout-encoding: utf8 
  • lang/perl/tiarra/branches/module-reload/doc/module/Auto.html

    r12298 r12849  
    280280<p class="comment"> 
    281281NOTE:<br /> 
    282 &nbsp;利用するにはcodereposから<br /> 
     282&nbsp;利用するにはCodeReposから<br /> 
    283283&nbsp;module/Tools/HTTPClient.pm     rev.8220<br /> 
    284284&nbsp;main/Tiarra/Socket/Buffered.pm rev.8219<br /> 
     
    749749<p class="comment"> 
    750750使用するブロックの定義。<br /> 
     751省略すると std を使用.<br /> 
     752複数個の blocks の指定も可能.<br /> 
    751753</p> 
    752754<div class="element"><span class="key">blocks</span>:<span class="value">std</span></div> 
     
    754756<div class="block content"> 
    755757<p class="comment"> 
     7581つの応答ブロックの定義.<br /> 
     759一応全ての項目が省略可能ではあるけれど,<br /> 
     760通常は最低限 file と file-encoding を使用する.<br /> 
     761IRCで応答の追加削除等を行いたいときにはそれに更に設定を追加する形.<br /> 
     762(IRC上で応答の追加削除は行うが保存はしない時に限ってfileを省略可能.)<br /> 
     763</p> 
     764<p class="comment"> 
     765機能:<br /> 
     766- 通常応答<br /> 
     767- 登録数確認(count-query)<br /> 
     768- 反応確認(request)<br /> 
     769- 反応追加(add)<br /> 
     770- 反応削除(remove)<br /> 
     771通常応答以外は設定を省略することで機能を無効にできます。<br /> 
     772</p> 
     773<p class="comment"> 
    756774データファイルと文字コードを指定します。<br /> 
    757 ファイルの中では一行に一つの&quot;反応:メッセージ&quot;を書いて下さい。<br /> 
     775ファイルの中では一行に一つの&quot;反応マスク:メッセージ&quot;を書いて下さい。<br /> 
    758776</p> 
    759777<div class="element"><span class="key">file</span>:<span class="value">reply.txt</span></div> 
    760778<div class="element"><span class="key">file-encoding</span>:<span class="value">euc</span></div> 
    761779<p class="comment"> 
    762 反応チェックを行うキーワードを指定します。<br /> 
     7801つの発言で複数の反応マスクにマッチする場合,<br /> 
     781どれにマッチするかは未定義です.<br /> 
     782ただ, どちらか1つにのみマッチします.<br /> 
     783</p> 
     784<p class="comment"> 
     785同じ反応マスクに複数個のメッセージが記述してあった場合の処理.<br /> 
     786multivalue: random #==&gt; ランダムに1つ選択.<br /> 
     787multivalue: all    #==&gt; 全て返す.<br /> 
     788multivalue: seq    #==&gt; 順番に1つずつ返す.<br /> 
     789省略時及び認識できなかったときは random.<br /> 
     790</p> 
     791<div class="element"><span class="key">multivalue</span>:<span class="value">random</span></div> 
     792<p class="comment"> 
     793返す最大行数.<br /> 
     794multivalue: all の時のみ有効.<br /> 
     795(それ以外の時は1行しか返さない)<br /> 
     796デフォルトは 5 行まで.<br /> 
     797</p> 
     798<div class="element"><span class="key">multivalue-limit</span>:<span class="value">5</span></div> 
     799<p class="comment"> 
     800反応する人のマスク。<br /> 
     801通常応答と登録数の返答時にチェックされる。<br /> 
     802</p> 
     803<div class="element"><span class="key">mask</span>:<span class="value">* *!*@*</span></div> 
     804<p class="comment"> 
     805plum: mask: *!*@*<br /> 
     806</p> 
     807<p class="comment"> 
     808このブロックが発言に反応する確率を指定します。<br /> 
     809百分率です。省略された場合は100と見做されます。<br /> 
     810</p> 
     811<div class="element"><span class="key">rate</span>:<span class="value">100</span></div> 
     812<p class="comment"> 
     813反応の確認を行うためのキーワードを指定します。<br /> 
    763814実際の指定方法は、「&lt;requestで指定したキーワード&gt; &lt;チェックしたい発言&gt;」です。<br /> 
     815省略するとこの機能は無効になります。<br /> 
     816指定したときだけこの機能が有効になります。<br /> 
    764817</p> 
    765818<div class="element"><span class="key">request</span>:<span class="value">反応チェック</span></div> 
     
    767820request に反応するときのフォーマットを指定します。<br /> 
    768821#(key) がキーワード、 #(message) が発言に置換されます。<br /> 
     822request を指定したときのみ必要。<br /> 
    769823</p> 
    770824<div class="element"><span class="key">reply-format</span>:<span class="value">「#(key)」という発言に「#(message)」と反応します。</span></div> 
    771825<p class="comment"> 
    772 request に反応する最大個数を指定します。<br /> 
     826request に反応する最大個数(ブロックの数)を指定します。<br /> 
    773827あまり大きな値を指定すると、アタックが可能になったり、ログが流れて邪魔なので注意してください。<br /> 
     828通常の反応には関与しません。また、応答の行数ではありません。<br /> 
    774829</p> 
    775830<div class="element"><span class="key">max-reply</span>:<span class="value">5</span></div> 
    776831<p class="comment"> 
    777832メッセージの登録数を返答するキーワードを指定します。<br /> 
     833省略するとこの機能は無効になります。<br /> 
     834指定したときだけこの機能が有効になります。<br /> 
    778835</p> 
    779836<div class="element"><span class="key">count-query</span>:<span class="value">反応登録数</span></div> 
     
    781838メッセージの登録数を返答するときの反応を指定します。<br /> 
    782839formatで指定できるものと同じです。#(count)は登録数になります。<br /> 
     840count-query を指定したときのみ必要。<br /> 
    783841</p> 
    784842<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"> 
    790 plum: mask: *!*@*<br /> 
    791 </p> 
    792 <p class="comment"> 
    793 反応が追加されたときの反応を指定します。<br /> 
    794 formatで指定できるものと同じです。#(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 /> 
    799 formatで指定できるものと同じです。#(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> 
    806843<p class="comment"> 
    807844メッセージを追加するキーワードを指定します。<br /> 
    808845ここで指定したキーワードを発言すると、新しいメッセージを追加します。<br /> 
    809846実際の追加方法は「&lt;addで指定したキーワード&gt; &lt;追加するメッセージ&gt;」です。<br /> 
     847省略するとこの機能は無効になります。<br /> 
     848指定したときだけこの機能が有効になります。<br /> 
    810849</p> 
    811850<div class="element"><span class="key">add</span>:<span class="value">反応追加</span></div> 
     851<p class="comment"> 
     852反応が追加されたときの反応を指定します。<br /> 
     853formatで指定できるものと同じです。#(message)は追加されたメッセージになります。<br /> 
     854</p> 
     855<div class="element"><span class="key">added-format</span>:<span class="value">#(name|nick.now): #(key) に対する反応 #(message) を追加しました。</span></div> 
    812856<p class="comment"> 
    813857メッセージを削除するキーワードを指定します。<br /> 
    814858実際の削除方法は「&lt;removeで指定したキーワード&gt; &lt;削除するキーワード&gt;」です。<br /> 
     859省略するとこの機能は無効になります。<br /> 
     860指定したときだけこの機能が有効になります。<br /> 
    815861</p> 
    816862<div class="element"><span class="key">remove</span>:<span class="value">反応削除</span></div> 
     863<p class="comment"> 
     864メッセージが削除されたときの反応を指定します。<br /> 
     865formatで指定できるものと同じです。#(message)は削除されたメッセージになります。<br /> 
     866</p> 
     867<div class="element"><span class="key">removed-format</span>:<span class="value">#(name|nick.now): #(key) #(message;に対する反応 %s|;) を #(count) 件削除しました。</span></div> 
    817868<p class="comment"> 
    818869addとremoveを許可する人。省略された場合は「* *!*@*」と見做します。<br /> 
  • lang/perl/tiarra/branches/module-reload/module/Auto/Reply.pm

    r11365 r12849  
    1414use Mask; 
    1515 
     16our $DEFAULT_BLOCK_NAME = 'std'; 
     17our $DEFAULT_MUILTILINE_LIMIT = 10; 
     18 
    1619sub new { 
    1720    my $class = shift; 
     
    1922    $this->{config} = []; 
    2023 
    21     $this->_load; 
     24    eval{ 
     25      $this->_load; 
     26    }; 
     27    if( $@ ) 
     28    { 
     29      $this->_error("$@"); 
     30    } 
    2231    return $this; 
     32} 
     33 
     34sub _error 
     35{ 
     36  my $this = shift; 
     37  my $msg  = shift; 
     38 
     39  $this->_runloop->notify_error(__PACKAGE__." -- ".$msg); 
    2340} 
    2441 
     
    2744 
    2845    my $BLOCKS_NAME = 'blocks'; 
    29  
    30     foreach my $blockname ($this->config->get($BLOCKS_NAME, 'all')) { 
    31         die "$blockname block name is reserved!" if $blockname eq $BLOCKS_NAME; 
     46    my @block_names = $this->config->get($BLOCKS_NAME, 'all'); 
     47    if( !@block_names ) 
     48    { 
     49      @block_names = $DEFAULT_BLOCK_NAME; 
     50      if( !$this->config->get($DEFAULT_BLOCK_NAME) ) 
     51      { 
     52        $this->_("Both blocks: records and std block are not defined"); 
     53        return; 
     54      } 
     55    } 
     56 
     57    foreach my $blockname (@block_names) { 
     58        if( $blockname eq $BLOCKS_NAME ) 
     59        { 
     60          $this->_error("block name $blockname is reserved!"); 
     61          next; 
     62        } 
    3263        my $block = $this->config->get($blockname); 
    33         die "$blockname isn't block!" unless UNIVERSAL::isa($block, 'Configuration::Block'); 
     64        if( !$block ) 
     65        { 
     66          $this->_error("block $blockname is not defined"); 
     67          next; 
     68        } 
     69        if( !UNIVERSAL::isa($block, 'Configuration::Block') ) 
     70        { 
     71          $this->_error("$blockname isn't block!"); 
     72          next; 
     73        } 
    3474        push(@{$this->{config}}, { 
    35             mask => [Mask::array_or_all_chan($block->mask('all'))], 
    36             request => [$block->request('all')], 
    37             reply_format => [$block->reply_format('all')], 
    38             max_reply => $block->max_reply, 
    39             rate => $block->rate, 
    40             count_query => [$block->count_query('all')], 
    41             count_format => [$block->count_format('all')], 
    42             add => [$block->get('add', 'all')], 
    43             added_format => [$block->added_format('all')], 
    44             remove => [$block->remove('all')], 
     75            mask           => [Mask::array_or_all_chan($block->mask('all'))], 
     76            request        => [$block->request('all')], 
     77            reply_format   => [$block->reply_format('all')], 
     78            max_reply      => $block->max_reply, 
     79            rate           => $block->rate, 
     80            count_query    => [$block->count_query('all')], 
     81            count_format   => [$block->count_format('all')], 
     82            add            => [$block->get('add', 'all')], 
     83            added_format   => [$block->added_format('all')], 
     84            remove         => [$block->remove('all')], 
    4585            removed_format => [$block->removed_format('all')], 
    46             modifier => [$block->modifier('all')], 
    47             use_re => $block->use_re, 
    48             database => Tools::HashDB->new( 
     86            modifier       => [$block->modifier('all')], 
     87            use_re         => $block->use_re, 
     88            multivalue     => $block->multivalue, 
     89            multivalue_limit => $block->multivalue_limit, 
     90            multivalue_seq   => 0, # updated internally. 
     91            database       => Tools::HashDB->new( 
    4992                $block->file, 
    5093                $block->file_encoding, 
     
    133176                my $key = (_search($block, $msg->param(1), 1, $block->{rate}))[0]; 
    134177                if (defined $key) { 
    135                     $reply_anywhere->($block->{database}->get_value_random($key)); 
     178                  my $multivalue = $block->{multivalue} || 'random'; 
     179                  if( $multivalue eq 'all' ) 
     180                  { 
     181                    my $limit = $block->{multivalue_limit} || $DEFAULT_MUILTILINE_LIMIT; 
     182                    my $values = $block->{database}->get_array($key); 
     183                    if( @$values > $limit ) 
     184                    { 
     185                      $values = [ @$values[0..$limit-1] ]; 
     186                    } 
     187                    $reply_anywhere->($values); 
     188                  }elsif( $multivalue eq 'seq' || $multivalue eq 'sequence' ) 
     189                  { 
     190                    my $values = $block->{database}->get_array($key); 
     191                    my $seq = $block->{multivalue_seq} || 0; 
     192                    if( $seq < 0 || $seq >= @$values ) 
     193                    { 
     194                      $seq = 0; 
     195                    } 
     196                    $reply_anywhere->($values->[$seq]); 
     197                    $block->{multivalue_seq} = ($seq + 1) % @$values; 
     198                  }else 
     199                  { 
     200                    my $value = $block->{database}->get_value_random($key); 
     201                    $reply_anywhere->($value); 
     202                  } 
    136203                } 
    137204            } 
     
    177244 
    178245# 使用するブロックの定義。 
     246# 省略すると std を使用. 
     247# 複数個の blocks の指定も可能. 
    179248blocks: std 
    180249 
    181250std { 
     251  # 1つの応答ブロックの定義. 
     252  # 一応全ての項目が省略可能ではあるけれど, 
     253  # 通常は最低限 file と file-encoding を使用する. 
     254  # IRCで応答の追加削除等を行いたいときにはそれに更に設定を追加する形. 
     255  # (IRC上で応答の追加削除は行うが保存はしない時に限ってfileを省略可能.) 
     256 
     257  # 機能: 
     258  # - 通常応答 
     259  # - 登録数確認(count-query) 
     260  # - 反応確認(request) 
     261  # - 反応追加(add) 
     262  # - 反応削除(remove) 
     263  # 通常応答以外は設定を省略することで機能を無効にできます。 
     264 
    182265  # データファイルと文字コードを指定します。 
    183   # ファイルの中では一行に一つの"反応:メッセージ"を書いて下さい。 
     266  # ファイルの中では一行に一つの"反応マスク:メッセージ"を書いて下さい。 
    184267  file: reply.txt 
    185268  file-encoding: euc 
    186269 
    187   # 反応チェックを行うキーワードを指定します。 
     270  # 1つの発言で複数の反応マスクにマッチする場合,  
     271  # どれにマッチするかは未定義です. 
     272  # ただ, どちらか1つにのみマッチします. 
     273 
     274  # 同じ反応マスクに複数個のメッセージが記述してあった場合の処理. 
     275  # multivalue: random #==> ランダムに1つ選択. 
     276  # multivalue: all    #==> 全て返す. 
     277  # multivalue: seq    #==> 順番に1つずつ返す. 
     278  # 省略時及び認識できなかったときは random. 
     279  -multivalue: random 
     280  # 返す最大行数. 
     281  # multivalue: all の時のみ有効. 
     282  # (それ以外の時は1行しか返さない) 
     283  # デフォルトは 5 行まで. 
     284  -multivalue-limit: 5 
     285 
     286  # 反応する人のマスク。 
     287  # 通常応答と登録数の返答時にチェックされる。 
     288  mask: * *!*@* 
     289  # plum: mask: *!*@* 
     290 
     291  # このブロックが発言に反応する確率を指定します。 
     292  # 百分率です。省略された場合は100と見做されます。 
     293  rate: 100 
     294 
     295 
     296  # 反応の確認を行うためのキーワードを指定します。 
    188297  # 実際の指定方法は、「<requestで指定したキーワード> <チェックしたい発言>」です。 
     298  # 省略するとこの機能は無効になります。 
     299  # 指定したときだけこの機能が有効になります。 
    189300  request: 反応チェック 
    190301 
    191302  # request に反応するときのフォーマットを指定します。 
    192303  # #(key) がキーワード、 #(message) が発言に置換されます。 
     304  # request を指定したときのみ必要。 
    193305  reply-format: 「#(key)」という発言に「#(message)」と反応します。 
    194306 
    195   # request に反応する最大個数を指定します。 
     307  # request に反応する最大個数(ブロックの数)を指定します。 
    196308  # あまり大きな値を指定すると、アタックが可能になったり、ログが流れて邪魔なので注意してください。 
     309  # 通常の反応には関与しません。また、応答の行数ではありません。 
    197310  max-reply: 5 
    198311 
    199312  # メッセージの登録数を返答するキーワードを指定します。 
     313  # 省略するとこの機能は無効になります。 
     314  # 指定したときだけこの機能が有効になります。 
    200315  count-query: 反応登録数 
    201316 
    202317  # メッセージの登録数を返答するときの反応を指定します。 
    203318  # formatで指定できるものと同じです。#(count)は登録数になります。 
     319  # count-query を指定したときのみ必要。 
    204320  count-format: 反応は#(count)件登録されています。 
    205321 
    206   # 反応する人のマスク。 
    207   mask: * *!*@* 
    208   # plum: mask: *!*@* 
     322  # メッセージを追加するキーワードを指定します。 
     323  # ここで指定したキーワードを発言すると、新しいメッセージを追加します。 
     324  # 実際の追加方法は「<addで指定したキーワード> <追加するメッセージ>」です。 
     325  # 省略するとこの機能は無効になります。 
     326  # 指定したときだけこの機能が有効になります。 
     327  -add: 反応追加 
    209328 
    210329  # 反応が追加されたときの反応を指定します。 
     
    212331  added-format: #(name|nick.now): #(key) に対する反応 #(message) を追加しました。 
    213332 
     333  # メッセージを削除するキーワードを指定します。 
     334  # 実際の削除方法は「<removeで指定したキーワード> <削除するキーワード>」です。 
     335  # 省略するとこの機能は無効になります。 
     336  # 指定したときだけこの機能が有効になります。 
     337  -remove: 反応削除 
     338 
    214339  # メッセージが削除されたときの反応を指定します。 
    215340  # formatで指定できるものと同じです。#(message)は削除されたメッセージになります。 
    216341  removed-format: #(name|nick.now): #(key) #(message;に対する反応 %s|;) を #(count) 件削除しました。 
    217342 
    218   # 発言に反応する確率を指定します。百分率です。省略された場合は100と見做されます。 
    219   rate: 100 
    220  
    221   # メッセージを追加するキーワードを指定します。 
    222   # ここで指定したキーワードを発言すると、新しいメッセージを追加します。 
    223   # 実際の追加方法は「<addで指定したキーワード> <追加するメッセージ>」です。 
    224   add: 反応追加 
    225  
    226   # メッセージを削除するキーワードを指定します。 
    227   # 実際の削除方法は「<removeで指定したキーワード> <削除するキーワード>」です。 
    228   remove: 反応削除 
    229  
    230343  # addとremoveを許可する人。省略された場合は「* *!*@*」と見做します。 
    231344  modifier: * *!*@* 
  • lang/perl/tiarra/branches/module-reload/module/System/WebClient.pm

    r12325 r12849  
    577577  if( !_verify_value($param->[1], $user) ) 
    578578  { 
     579    defined($user) or $user = ''; 
     580    $DEBUG and ::printmsg("$req->{peer}: $param->[0] user $param->[1] does not match with '$user' (user)"); 
    579581    return; 
    580582  } 
    581583  if( !_verify_value($param->[2], $pass) ) 
    582584  { 
     585    defined($pass) or $pass = ''; 
     586    $DEBUG and ::printmsg("$req->{peer}: $param->[0] pass $param->[2] does not match with '$pass' (pass)"); 
    583587    return; 
    584588  } 
     
    613617    return 1; 
    614618  } 
     619  defined($uid) or $uid = ''; 
     620  defined($sn)  or $sn  = ''; 
     621  $DEBUG and ::printmsg("$req->{peer}: $param->[0] pass $param->[1] does not match with '$uid' (uid), '$sn' (sn)"); 
    615622  return; 
    616623} 
     
    627634  if( !_verify_value($param->[1], $subno) ) 
    628635  { 
     636    defined($subno) or $subno = ''; 
     637    $DEBUG and ::printmsg("$req->{peer}: $param->[0] pass $param->[1] does not match with '$subno' (subno)"); 
    629638    return; 
    630639  } 
  • lang/perl/tiarra/branches/module-reload/sample.conf

    r12068 r12849  
    109109  client-out-encoding: jis 
    110110 
    111   # Tiarraは標準出力に様々なメッセージを出力するが、その文字コードを指定する。省略時にはeucとなる。 
     111  # Tiarraは標準出力に様々なメッセージを出力するが、その文字コードを指定する。省略時にはutf8となる。 
    112112  # ただしtiarra.confのパースが完了するまでは文字コードの変換は行なわれない(つまりこの設定が有効にならない)ことに注意して下さい。 
    113113  stdout-encoding: utf8