From 451147b3188073826814f66ea89f2a2ec45d0bc4 Mon Sep 17 00:00:00 2001 From: dms Date: Mon, 5 Feb 2001 15:29:15 +0000 Subject: [PATCH] - ircCheck => 120 interval. - dccStatus now only shows chan info where the dcc chat user is on _only_ - added checking of %dcc hash for nuh hash checking. git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@340 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/IRC/Schedulers.pl | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/IRC/Schedulers.pl b/src/IRC/Schedulers.pl index ed98458..cbe2a0c 100644 --- a/src/IRC/Schedulers.pl +++ b/src/IRC/Schedulers.pl @@ -489,6 +489,8 @@ sub leakCheck { my $delete = 0; foreach (keys %nuh) { next if (&IsNickInAnyChan($_)); + next if (exists $dcc{CHAT}{$_}); + delete $nuh{$_}; $delete++; } @@ -527,7 +529,7 @@ sub ignoreCheck { sub ircCheck { if (@_) { - &ScheduleThis(240, "ircCheck"); + &ScheduleThis(120, "ircCheck"); return if ($_[0] eq "2"); # defer. } else { delete $sched{"ircCheck"}{RUNNING}; @@ -898,11 +900,18 @@ sub dccStatus { my $time = strftime("%H:%M", localtime(time()) ); + my $c; foreach (keys %channels) { - my $users = keys %{ $channels{$_}{''} }; - my $chops = keys %{ $channels{$_}{o} }; - my $bans = keys %{ $channels{$_}{b} }; - &DCCBroadcast("[$time] $_: $users members ($chops chops), $bans bans","+o"); + my $c = $_; + my $users = keys %{ $channels{$c}{''} }; + my $chops = keys %{ $channels{$c}{o} }; + my $bans = keys %{ $channels{$c}{b} }; + + my $txt = "[$time] $c: $users members ($chops chops), $bans bans"; + foreach (keys %{ $dcc{'CHAT'} }) { + next unless (exists $channels{$c}{''}{lc $_}); + $conn->privmsg($dcc{'CHAT'}{$_}, $txt); + } } } -- 2.39.2