git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@1114
c11ca15a-4712-0410-83d8-
924469b57eb5
}
sub output_timeservermsg {
}
sub output_timeservermsg {
- my ($date, $time, $line) = @_;
+ my ($date, $time, $channel, $line) = @_;
my $lineout = '';
if ($STYLE =~ /table/) {
my $lineout = '';
if ($STYLE =~ /table/) {
$lineout .= "$time " if $time;
$lineout .= "$line<br>\n";
}
$lineout .= "$time " if $time;
$lineout .= "$line<br>\n";
}
- output_line($date, $time,'',$lineout);
+ output_line($date, $time, $channel, $lineout);
chomp $line;
if (!$line eq "") {
chomp $line;
if (!$line eq "") {
# parse out the time
if ($line =~ s/^([0-9:\.]*) (.*)$/$2/) {
$time = $1;
} else {
# parse out the time
if ($line =~ s/^([0-9:\.]*) (.*)$/$2/) {
$time = $1;
} else {
# Replace ampersands, pointies, control characters #
$line =~ s/&/&\;/g;
# Replace ampersands, pointies, control characters #
$line =~ s/&/&\;/g;
$htmlcolour = $colour_nick{$nick} = html_rgb($nickcount, $NICKMAX);
}
output_timenicktext($date, $time, $channel, $nick, $text, $htmlcolour);
$htmlcolour = $colour_nick{$nick} = html_rgb($nickcount, $NICKMAX);
}
output_timenicktext($date, $time, $channel, $nick, $text, $htmlcolour);
- }
-
- elsif ($line =~ /^>\;>\;>\; /) {
+ } elsif ($line =~ /^>\;>\;>\; /) {
$line =~ s/^>\;>\;>\; /\*\*\* /;
# Process changed nick results, and remember colours accordingly #
$line =~ s/^>\;>\;>\; /\*\*\* /;
# Process changed nick results, and remember colours accordingly #
- if ($line =~ /\*\*\* (.*?) are|is now known as (.*)/) {
- my $nick_old;
- my $nick_new;
-
- $nick_old = $line;
- $nick_old =~ s/\*\*\* (.*?) (are|is) now known as .*/$1/;
+ if ($line =~ /\*\*\* (.*?) materializes into (.*)/) {
+ my $nick_old = $1;
+ my $nick_new = $2;
- $nick_new = $line;
- $nick_new =~ s/\*\*\* .*? (are|is) now known as (.*)/$2/;
+ #$nick_old = $line;
+ #$nick_old =~ s/\*\*\* (.*?) materializes into .*/$1/;
+ #$nick_new = $line;
+ #$nick_new =~ s/\*\*\* (.*?) materializes into (.*)/$2/;
$colour_nick{$nick_new} = $colour_nick{$nick_old};
$colour_nick{$nick_old} = undef;
$line =~ s/(\*\*\* .*)/<font color=\"$colour_nickchange\">$1<\/font>/
$colour_nick{$nick_new} = $colour_nick{$nick_old};
$colour_nick{$nick_old} = undef;
$line =~ s/(\*\*\* .*)/<font color=\"$colour_nickchange\">$1<\/font>/
- }
-
- # Colourise joined/left/server messages #
- elsif ($line =~ /\*\*\* .*left|quit/) {
- $line =~ s/(\*\*\* .*)/<font color=\"$colour_left\">$1<\/font>/;
- }
- elsif ($line =~ /\*\*\* .*joined/) {
+ } elsif ($line =~ /\*\*\* (join|mode|topic)\/(.*?) .*/) {
+ $channel = lc $2;
$line =~ s/(\*\*\* .*)/<font color=\"$colour_joined\">$1<\/font>/;
$line =~ s/(\*\*\* .*)/<font color=\"$colour_joined\">$1<\/font>/;
- }
- elsif ($line =~ /\*\*\* /) {
+ } elsif ($line =~ /\*\*\* (part|kick|banned)\/(.*?) .*/) {
+ $channel = lc $2;
+ $line =~ s/(\*\*\* .*)/<font color=\"$colour_left\">$1<\/font>/;
+ } elsif ($line =~ /\*\*\* .* has signed off IRC .*/) {
+ # Colourise joined/left/server messages #
+ $line =~ s/(\*\*\* .*)/<font color=\"$colour_left\">$1<\/font>/;
+ } elsif ($line =~ /\*\*\* /) {
$line =~ s/(\*\*\* .*)$/<font color=\"$colour_server\">$1<\/font>/;
$line =~ s/(\*\*\* .*)$/<font color=\"$colour_server\">$1<\/font>/;
- }
-
- # Colourise the /me's #
- elsif ($line =~ /^\* .*$/) {
+ } elsif ($line =~ /^\* .*$/) {
+ # Colourise the /me's #
$line =~ s/^(\*.*)$/<font color=\"$colour_action\">$1<\/font>/;
}
$line =~ s/^(\*.*)$/<font color=\"$colour_action\">$1<\/font>/;
}
- output_timeservermsg($date, $time, $line);
+ output_timeservermsg($date, $time, $channel, $line);