use strict;
use Irssi;
use vars qw($VERSION %IRSSI);
$VERSION = '1.0';
%IRSSI = (
authors => 'moo',
contact => 'none',
name => 'test',
description => 'play with',
license => 'GPLv2',
url => 'http://www.none.org'
);
# A Server Event has occurred. Check if it is a server NOTICE;
# if so, process it.
sub event_serverevent {
my ($server, $msg, $nick, $hostmask) = @_;
# return unless is_server_notice(@_);
process_event($server, $msg);
}
# This function takes a server notice and matches it with a few regular
# expressions to see if any special action needs to be taken.
sub process_event {
my ($server, $msg) = @_;
# Client connect: nick, user, host, ip, class, realname
# CLICONN raar raar 2*cencur*telesp.net.br 20x.95.7x.1x3 users "RAF.RAF" "irc.cc.com" 0 RAF
# [CONN] vwssw tstwvct@*cencur*l.mindspring.com (6x.3x.13.1x4) users ["vwpqfw"] ["irc.cc.net"] ypkrqz
#~ /\[CONN\] (.*) (.*)@(.*) \((.*)\) users \[(.*)\] \[(.*)\] (.*)/) {
#~ /CLICONN (.*) (.*)@(.*) {(.*)} users {(.*)} {(.*)} 0 (.*)/) {
if ($msg =~ /CLICONN (.*) (.*) (.*) {(.*)} users {(.*)} {(.*)} 0 (.*)/) {
process_connect($server, $1, $2, $3, $4, $5, $6, $7);
return;
}
}
# This function processes a client connect.
sub process_connect {
my ($server, $nick, $user, $host, $ip, $extra1, $extra2, $realname) = @_;
# return if $ip eq '255.255.255.255'
Irssi::print("$nick $host $ip");
}
Irssi::signal_add_first('server event', 'event_serverevent');