Changeset 2670
- Timestamp:
- 12/06/07 22:19:17 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/mobirc/trunk/mobirc/lib/Mobirc/Plugin/IRCCommand/TiarraLog.pm
r1082 r2670 6 6 7 7 sub register { 8 my ($class, $global_context ) = @_;8 my ($class, $global_context, $conf) = @_; 9 9 10 10 $global_context->register_hook( 11 'on_irc_notice' => \&_process,11 'on_irc_notice' => sub { _process(@_, $conf) }, 12 12 ); 13 14 $conf->{sysmsg_prefix} ||= q{tiarra}; 13 15 } 14 16 15 17 sub _process { 16 my ($poe, $who, $channel, $msg ) = @_;18 my ($poe, $who, $channel, $msg, $conf) = @_; 17 19 18 20 DEBUG "parse tiara's Log::Recent log"; 19 21 20 22 # Tiarra Log::Recent Parser 21 if ($who && $who eq "tiarra") {23 if ($who && $who eq $conf->{sysmsg_prefix}) { 22 24 # header: %H:%M:%S 23 25 # header: %H:%M … … 28 30 DEBUG "IRC INCODE IS $irc_incode"; 29 31 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+?) \((.*)\)|) { 31 33 # ほんとは quit 32 34 $class = "part"; … … 34 36 $msg = undef; 35 37 $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+)|) { 37 39 $class = "join"; 38 40 $who = $2; 39 41 $msg = decode("utf8", "$2 join"); 40 42 $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+)|) { 42 44 $class = "part"; 43 45 $who = $2; 44 46 $msg = undef; 45 47 $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+) (.*)|) { 47 49 $class = "mode"; 48 50 $who = $2; 49 51 $msg = undef; 50 52 $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+): (.*)|) { 52 54 $class = "topic"; 53 55 $who = $3; 54 56 $msg = $4; 55 57 $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+)|) { 57 59 $class = "nick"; 58 60 $who = $3; 59 61 $msg = $4; 60 62 $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)?) [<>()=-]([^>]+?)[<>()=-] (.*)|) { 62 64 # priv も notice もまとめて notice に 63 65 # keyword 反応を再度しないため … … 85 87 86 88 1; 89 __END__ 90 91 =head1 NAME 92 93 Mobirc::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
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)