#!/usr/local/bin/perl
#
#    BBS logfile reader
#    Filters all messages to and from a specific user

$name = shift;

while($line = <STDIN>) {
    if ($line =~ /eXpress message received from $name at \d+:\d\d/
	|| $line =~ /Question received from $name at \d+:\d\d/
	|| $line =~ /$name sent you this feeling at \d+:\d\d/) {
	print "$line";
	for($i = 0; $i < 7; $i++) {
	    $line = <STDIN>;
	    chop($line);
	    if ($line eq '') {
		last;
	    }
	    print "$line\n";
	}
	print "\n";
    } elsif ($line =~ /Send eXpress message$/ || $line =~ /Reply to last eXpress message$/) {
	$line2 = $line;
	do {
	    $line = <STDIN>;
	} while(!($line =~ /Recipient/));
	if ($line =~ /Recipient \($name\):\s$/ || $line =~ /$name$/) {
	    print "$line2\n$line";
	    do {
		$line = <STDIN>;
		print "$line";
	    } while($line =~ /^\>/);
	    print "\n";
	}
    } elsif ($line =~ /\(\d+:\d+\) $name /) {		# emote received
	print "$line\n";
    } elsif ($line =~ /Send Emote$/) {			# Send emote
        $line2 = $line;
	do {
	    $line = <STDIN>;
	} while(!($line =~ /Recipient/));
	if ($line =~ /Recipient \($name\):\s$/ || $line =~ /$name$/) {
	    print "$line2\n$line";
	    $line = <STDIN>;
	    print "$line";
	    $line = <STDIN>;
	    print "$line\n";
	}
    } elsif ($line =~ /Bark!! Bark!!! Your watchdog noticed something at \d+:\d\d/) {
	$line2 = $line;
	$line = <STDIN>;
	if ($line =~ /Your friend $name has /
	    || $line =~ /Your friend $name went link dead and is disconnected/) {
	    print "$line2$line\n";
	}
    }
}

# EOB


