Changeset 2670

Show
Ignore:
Timestamp:
12/06/07 22:19:17 (5 years ago)
Author:
drry
Message:

mobirc/lib/Mobirc/Plugin/IRCCommand/TiarraLog.pm:

Tiarra で general { sysmsg-prefix } を設定している場合の設定値 sysmsg_prefix を追加
ほか

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/mobirc/trunk/mobirc/lib/Mobirc/Plugin/IRCCommand/TiarraLog.pm

    r1082 r2670  
    66 
    77sub register { 
    8     my ($class, $global_context) = @_; 
     8    my ($class, $global_context, $conf) = @_; 
    99 
    1010    $global_context->register_hook( 
    11         'on_irc_notice' => \&_process, 
     11        'on_irc_notice' => sub { _process(@_, $conf) }, 
    1212    ); 
     13 
     14    $conf->{sysmsg_prefix} ||= q{tiarra}; 
    1315} 
    1416 
    1517sub _process { 
    16     my ($poe, $who, $channel, $msg) = @_; 
     18    my ($poe, $who, $channel, $msg, $conf) = @_; 
    1719 
    1820    DEBUG "parse tiara's Log::Recent log"; 
    1921 
    2022    # Tiarra Log::Recent Parser 
    21     if ($who && $who eq "tiarra") { 
     23    if ($who && $who eq $conf->{sysmsg_prefix}) { 
    2224        # header: %H:%M:%S 
    2325        # header: %H:%M 
     
    2830        DEBUG "IRC INCODE IS $irc_incode"; 
    2931        my $chann  = encode($irc_incode , $channel->[0]); 
    30         if ($msg =~ qr|^(\d\d:\d\d(?::\d\d)?) ! ([^\s]+?) \((.*)\)|) { 
     32        if ($msg =~ qr|^([0-2]\d:[0-5]\d(?::[0-5]\d)?) ! (\S+?) \((.*)\)|) { 
    3133            # ほんとは quit 
    3234            $class = "part"; 
     
    3436            $msg   = undef; 
    3537            $chann = $chann; 
    36         } elsif ($msg =~ qr|^(\d\d:\d\d(?::\d\d)) \+ ([^\s]+?) \(([^\)]+)\) to ([^\s]+)|) { 
     38        } elsif ($msg =~ qr|^([0-2]\d:[0-5]\d(?::[0-5]\d)?) \+ (\S+?) \(([^\)]+)\) to (\S+)|) { 
    3739            $class = "join"; 
    3840            $who   = $2; 
    3941            $msg   = decode("utf8", "$2 join"); 
    4042            $chann = $chann; 
    41         } elsif ($msg =~ qr|^(\d\d:\d\d(?::\d\d)) \- ([^\s]+?) from ([^\s]+)|) { 
     43        } elsif ($msg =~ qr|^([0-2]\d:[0-5]\d(?::[0-5]\d)?) \- (\S+?) from (\S+)|) { 
    4244            $class = "part"; 
    4345            $who   = $2; 
    4446            $msg   = undef; 
    4547            $chann = $chann; 
    46         } elsif ($msg =~ qr|^(\d\d:\d\d(?::\d\d)) Mode by ([^\s]+?): ([^\s]+) (.*)|) { 
     48        } elsif ($msg =~ qr|^([0-2]\d:[0-5]\d(?::[0-5]\d)?) Mode by (\S+?): (\S+) (.*)|) { 
    4749            $class = "mode"; 
    4850            $who   = $2; 
    4951            $msg   = undef; 
    5052            $chann = $chann; 
    51         } elsif ($msg =~ qr|^(\d\d:\d\d(?::\d\d)) Topic of channel ([^\s]+?) by ([^\s]+): (.*)|) { 
     53        } elsif ($msg =~ qr|^([0-2]\d:[0-5]\d(?::[0-5]\d)?) Topic of channel (\S+?) by (\S+): (.*)|) { 
    5254            $class = "topic"; 
    5355            $who   = $3; 
    5456            $msg   = $4; 
    5557            $chann = $chann; 
    56         } elsif ($msg =~ qr|^(\d\d:\d\d(?::\d\d)) ([^\s]+?) -> ([^\s]+)|) { 
     58        } elsif ($msg =~ qr|^([0-2]\d:[0-5]\d(?::[0-5]\d)?) (\S+?) -> (\S+)|) { 
    5759            $class = "nick"; 
    5860            $who   = $3; 
    5961            $msg   = $4; 
    6062            $chann = $chann; 
    61         } elsif ($msg =~ qr|^(\d\d:\d\d(?::\d\d)) [<>()=-]([^>]+?)[<>()=-] (.*)|) { 
     63        } elsif ($msg =~ qr|^([0-2]\d:[0-5]\d(?::[0-5]\d)?) [<>()=-]([^>]+?)[<>()=-] (.*)|) { 
    6264            # priv も notice もまとめて notice に 
    6365            # keyword 反応を再度しないため 
     
    8587 
    86881; 
     89__END__ 
     90 
     91=head1 NAME 
     92 
     93Mobirc::Plugin::IRCCommand::TiarraLog - Tiarra log blah-blah-blah 
     94 
     95=head1 SYNOPSIS 
     96 
     97  - module: Mobirc::Plugin::IRCCommand::TiarraLog 
     98    config: 
     99      sysmsg_prefix: tiarra 
     100