&DEBUG("on_ison: x1 = '$x1', x2 => '$x2'");
}
-sub on_endofmotd {
+sub on_connected {
$conn = shift(@_);
# update IRCStats.
if ( scalar keys %users < 2 ) {
&status( '!' x 40 );
- &status(
-"!!! Ok. Now type '/msg $ident PASS <pass>' to get master access through DCC CHAT."
- );
+ &status("!!! Ok. Now type '/msg $ident PASS <pass>' to get master access through DCC CHAT.");
&status( '!' x 40 );
}
-
# end of first time run.
if ( &IsChanConf('Wingate') > 0 ) {
# Q, as on quakenet.org.
if ( &IsParam('Q_pass') ) {
&status('Authing to Q...');
- &rawout(
-"PRIVMSG Q\@CServe.quakenet.org :AUTH $param{'Q_user'} $param{'Q_pass'}"
- );
+ &rawout("PRIVMSG Q\@CServe.quakenet.org :AUTH $param{'Q_user'} $param{'Q_pass'}");
}
- &status('End of motd. Now lets join some channels...');
+ &status("$ident End of motd. Now lets join some channels...");
#&joinNextChan();
}
&chanServCheck($chan);
- # schedule used to solve ircu (OPN) "target too fast" problems.
+ # schedule used to solve ircu (OPN) 'target too fast' problems.
$conn->schedule( 5, sub { &joinNextChan(); } );
}
my $nick = $event->nick();
my $chan = ( $event->to )[0];
my $args = ( $event->args )[0];
+ my $mynick = $conn->nick();
if ( $nick =~ /^NickServ$/i ) { # nickserv.
- &status("NickServ: <== '$args'");
+ &status("NickServ: $mynick <== '$args'");
my $check = 0;
$check++ if ( $args =~ /^This nickname is registered/i );
$check++ if ( $args =~ /nickname.*owned/i );
if ($check) {
- &status("nickserv told us to register; doing it.");
+ &status("nickserv told $mynick to register; doing it.");
if ( &IsParam('nickServ_pass') ) {
- &status("NickServ: ==> Identifying.");
+ &status("NickServ: ==> Identifying as $mynick.");
&rawout("PRIVMSG NickServ :IDENTIFY $param{'nickServ_pass'}");
return;
}
else {
- &status("We can't tell nickserv a passwd ;(");
+ &status("$mynick can't tell nickserv a passwd ;(");
}
}
foreach ( &ChanConfList('chanServ_ops') ) {
next unless &chanServCheck($_);
next if ($done);
- &DEBUG(
- "nickserv activated or restarted; doing chanserv check.");
+ &DEBUG('nickserv activated or restarted; doing chanserv check.');
$done++;
}
my $chan = ( $event->to )[0];
my $nick = $event->nick;
- &status("!!! other called.");
+ &status('!!! other called.');
&status("!!! $event->args");
}
my $nick = $event->nick;
my $t = ( $event->args )[1];
if ( !defined $t ) {
- &WARN("on_ping_reply: t == undefined.");
+ &WARN('on_ping_reply: t == undefined.');
return;
}
# rare case should this happen - catch it just in case.
if ( $bot_pid != $$ ) {
- &ERROR("run-away fork; exiting.");
+ &ERROR('run-away fork; exiting.');
&delForked($forker);
}
# cache it.
my $time = time();
if ( !$cache{ircTextCounters} ) {
- &DEBUG("caching ircTextCounters for first time.");
+ &DEBUG('caching ircTextCounters for first time.');
my @str = split( /\s+/, &getChanConf('ircTextCounters') );
for (@str) { $_ = quotemeta($_); }
$cache{ircTextCounters} = join( '|', @str );
&VERB( "textcounters: $x matched for $who", 2 );
my $c = $chan || 'PRIVATE';
- # better to do "counter=counter+1".
+ # better to do 'counter=counter+1'.
# but that will avoid time check.
my ( $v, $t ) = &sqlSelect(
'stats',
}
push( @vernick, $nick );
+ &DEBUG("on_crversion: Got '$ver' from $nick");
+
if ( $ver =~ /bitchx/i ) {
$ver{bitchx}{$nick} = $ver;
}
- elsif ( $ver =~ /xc\!|xchat/i ) {
+ elsif ( $ver =~ /infobot/i ) {
+ $ver{infobot}{$nick} = $ver;
+
+ }
+ elsif ( $ver =~ /(xc\!|xchat)/i ) {
$ver{xchat}{$nick} = $ver;
}
$ver{irssi}{$nick} = $ver;
}
- elsif ( $ver =~ /epic|(Third Eye)/i ) {
+ elsif ( $ver =~ /(epic|Third Eye)/i ) {
$ver{epic}{$nick} = $ver;
}
- elsif ( $ver =~ /ircII|PhoEniX/i ) {
+ elsif ( $ver =~ /(ircII|PhoEniX)/i ) {
$ver{ircII}{$nick} = $ver;
}
elsif ( $ver =~ /mirc/i ) {
-
- # &DEBUG("verstats: mirc: $nick => '$ver'.");
+ # Apparently, mIRC gets the reply as "VERSION " and doesnt like the
+ # space, so mirc matching is considered bugged.
$ver{mirc}{$nick} = $ver;
- # ok... then we get to the lesser known/used clients.
}
elsif ( $ver =~ /ircle/i ) {
$ver{ircle}{$nick} = $ver;