diff -r infobot-0.45.3/conf/infobot.config mod_infobot/conf/infobot.config
34a35,37
> # persistant "alias" db
> alias		 $dbname-alias
> 
diff -r infobot-0.45.3/extras/Extras.pl mod_infobot/extras/Extras.pl
468a469,532
>     if ($message =~ /^alias add (\S+) (\S+)/i) {
>         my $alias = $1;
> 	my $new_nick = $2;
> 
> 	my $current_nicks = &get(alias => lc $alias);
> 
> 	if ($current_nicks) {
> 	    &set(alias => $alias => "$current_nicks,$new_nick");
> 	} else {
>             &set(alias => $alias => "$new_nick");
> 	}
> 
>         if ($msgType =~ /public/) {
> 	    &performSay("$new_nick added as alias for $alias");
>         } else {
> 	    &msg($who, "$new_nick added as alias for $alias");
>         }
> 
>         return 'NOREPLY';
>     }
> 
>     if ($message =~ /^alias delete (\S+) (\S+)/i) {
>         my $alias = $1;
> 	my $old_nick = $2;
> 
> 	my $current_nicks = &get(alias => lc $alias);
> 
> 	if ($current_nicks =~ /$old_nick/) {
> 	    $current_nicks =~ s/$old_nick//;
> 
> 	    $current_nicks =~ s/,,/,/;
> 
> 	    &set(alias => $alias => "$current_nicks");
> 
>             if ($msgType =~ /public/) {
> 	        &performSay("$old_nick deleted as alias for $alias");
>             } else {
> 	        &msg($who, "$old_nick deleted as alias for $alias");
>             }
> 	} else {
>             if ($msgType =~ /public/) {
> 	        &performSay("$old_nick not found as alias for $alias");
>             } else {
> 	        &msg($who, "$old_nick not found as alias for $alias");
>             }
> 	}
> 	    
>         return 'NOREPLY';
>     }
> 
>     if ($message =~ /^alias show (\S+)/i) {
>         my $alias = $1;
> 
> 	my $current_nicks = &get(alias => lc $alias);
> 
>         if ($msgType =~ /public/) {
> 	    &performSay("$alias is an alias for $current_nicks");
>         } else {
> 	    &msg($who, "$alias is an alias for $current_nicks");
>         }
> 
>         return 'NOREPLY';
>     }
> 
471a536,575
>     sub print_seen ()
>     {
> 	my ($person, $seen) = @_;
> 
> 	my ($when,$where,$what) = split /$;/, $seen;
> 	my $howlong = time() - $when;
> 	$when = localtime $when;
> 
> 	my $tstring = ($howlong % 60). " seconds ago";
> 	$howlong = int($howlong / 60);
> 
> 	if ($howlong % 60) {
> 	    $tstring = ($howlong % 60). " minutes and $tstring";
> 	}
> 
> 	$howlong = int($howlong / 60);
> 
> 	if ($howlong % 24) {
> 	    $tstring = ($howlong % 24). " hours, $tstring";
> 	}
> 
>         $howlong = int($howlong / 24);
> 
> 	if ($howlong % 365) {
> 	    $tstring = ($howlong % 365). " days, $tstring";
> 	}
> 
>         $howlong = int($howlong / 365);
> 
> 	if ($howlong > 0) {
> 	    $tstring = "$howlong years, $tstring";
> 	}
> 
> 	if ($msgType =~ /public/) {
> 	    &performSay("$person was last seen on $where $tstring, saying: $what [$when]");
> 	} else {
> 	    &msg($who, "$person was last seen on $where $tstring, saying: $what [$when]");
> 	}
>     }
> 
475,479d578
< 	my $seen = &get(seen => lc $person);
< 	if ($seen) {
< 	    my ($when,$where,$what) = split /$;/, $seen;
< 	    my $howlong = time() - $when;
< 	    $when = localtime $when;
481,482c580
< 	    my $tstring = ($howlong % 60). " seconds ago";
< 	    $howlong = int($howlong / 60);
---
> 	my $current_nicks = &get(alias => lc $person);
484,487c582,584
< 	    if ($howlong % 60) {
< 		$tstring = ($howlong % 60). " minutes and $tstring";
< 	    }
< 	    $howlong = int($howlong / 60);
---
> 	if ($current_nicks)
> 	{
> 	    my @nicks = split (/,/, $current_nicks);
489,492c586
< 	    if ($howlong % 24) {
< 		$tstring = ($howlong % 24). " hours, $tstring";
< 	    }
< 	    $howlong = int($howlong / 24);
---
> 	    my $seen = &get(seen => lc $person);
494,495c588,609
< 	    if ($howlong % 365) {
< 		$tstring = ($howlong % 365). " days, $tstring";
---
> 	    if ($seen) {
> 	        &print_seen($person,$seen);
> 	    } else {
> 	        if ($msgType =~ /public/) {
>     	            &performSay("I haven't seen '$person', $who");
> 	        } else {
> 	            &msg($who,"I haven't seen '$person', $who");
> 		}
>             }
> 
> 	    foreach my $nick (@nicks) {
> 	        my $seen = &get(seen => lc $nick);
> 
> 		if ($seen) {
> 		    &print_seen($nick,$seen);
> 		} else {
> 	            if ($msgType =~ /public/) {
>     		        &performSay("I haven't seen '$nick', $who");
> 		    } else {
> 		        &msg($who,"I haven't seen '$nick', $who");
> 		    }
>                 }
497,499c611,618
< 	    $howlong = int($howlong / 365);
< 	    if ($howlong > 0) {
< 		$tstring = "$howlong years, $tstring";
---
> 
> 	    return 'NOREPLY';
> 	} else {
> 	    my $seen = &get(seen => lc $person);
> 
> 	    if ($seen) {
> 	        &print_seen($person,$seen);
> 	        return 'NOREPLY';
503c622
< 		&performSay("$person was last seen on $where $tstring, saying: $what [$when]");
---
> 	        &performSay("I haven't seen '$person', $who");
505c624
< 		&msg($who, "$person was last seen on $where $tstring, saying: $what [$when]");
---
> 	        &msg($who,"I haven't seen '$person', $who");
507,508d625
< 	    return 'NOREPLY';
< 	}
510,513c627
< 	if ($msgType =~ /public/) {
< 	    &performSay("I haven't seen '$person', $who");
< 	} else {
< 	    &msg($who,"I haven't seen '$person', $who");
---
> 	    return 'NOREPLY';
515d628
< 	return 'NOREPLY';
diff -r infobot-0.45.3/src/Setup.pl mod_infobot/src/Setup.pl
99a100,103
>     if ($param{'alias'}) {
> 	&openDBMx('alias');
>     }
> 
