X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2FCommandStubs.pl;h=520e326b743cd2da836b0b1c9c181a83ddc637e2;hb=9297b6322dc6a785b2ba574a59425a24ef8daf19;hp=e3586e01cddd7700ce3d892d8747e71f2af4374a;hpb=0f93d50dae74195b7d59d06d059e2e18211fac51;p=infobot.git diff --git a/src/CommandStubs.pl b/src/CommandStubs.pl index e3586e0..520e326 100644 --- a/src/CommandStubs.pl +++ b/src/CommandStubs.pl @@ -803,6 +803,17 @@ sub do_verstats { $cache{verstats}{who} = $who; $cache{verstats}{msgType} = $msgType; + $conn->schedule(30, sub { + my $c = lc $cache{verstats}{chan}; + @vernicktodo = (); + foreach (keys %{ $channels{$c}{''} } ) { + next if (grep /^\Q$_\E$/i, @vernick); + push(@vernicktodo, $_); + } + + &verstats_flush(); + } ); + $conn->schedule(60, sub { my $vtotal = 0; my $c = lc $cache{verstats}{chan}; @@ -820,7 +831,7 @@ sub do_verstats { my $unknown = $total - $vtotal; my $perc = sprintf("%.1f", $unknown * 100 / $total); $perc =~ s/.0$//; - $sorted{$perc}{"unknown/cloak"} = "$unknown ($perc%)"; + $sorted{$perc}{"unknown/cloak"} = "$unknown ($perc%)" if ($unknown); foreach (keys %ver) { my $count = scalar keys %{ $ver{$_} }; @@ -849,6 +860,19 @@ sub do_verstats { return; } +sub verstats_flush { + for (1..5) { + last unless (scalar @vernicktodo); + + my $n = shift(@vernicktodo); + $conn->ctcp("VERSION", $n); + } + + return unless (scalar @vernicktodo); + + $conn->schedule(3, \&verstats_flush() ); +} + sub textstats_main { my($arg) = @_;