# Name:          realnames.pl
# Version:       0.1
# Author:        Avery Morrow <morrowa@carleton.edu>
# Date:          2009-03-27
# Description:   Use real names in chat 

# Version History
# 0.1  2009-03-27   Creation

use strict;
use warnings;
use Xchat qw( :all );

# Put a #-delimited file named realnames.txt in your xchat directory.
# Example:
# averym#Avery Morrow

my $NAME    = 'RealNames';
my $VERSION = '0.1';

my @events = (
	'Channel Message',
	'Channel Action',
	'Channel Msg Hilight',
	'Channel Action Hilight',
	'Your Message',
	'Your Action',
);

register($NAME, $VERSION, "Use real names in chat");
Xchat::print("Loading $NAME $VERSION");

open(REALNAMETEXTFILE, "<".Xchat::get_info("xchatdir")."/realnames.txt");

for my $event (@events) {
	hook_print($event, \&convert_name, { data => $event, priority => PRI_HIGH });
}

sub convert_name {
	seek(REALNAMETEXTFILE,0,0);
	my @msgdata = @{$_[0]};
	my @textdata;
	my $event = $_[1];
	while(<REALNAMETEXTFILE>)
	{
		@textdata = split(/#/);
		if ($msgdata[0] eq $textdata[0]) {
		 chomp($textdata[1]);
		 $msgdata[0] = $textdata[1];
		}
	}
	emit_print($event, @msgdata);
	return EAT_ALL;
}

__END__
