50 |
my $ENCODING = 'ISO-8859-2'; |
my $ENCODING = 'ISO-8859-2'; |
51 |
my $TIMESTAMP = '%Y-%m-%d %H:%M:%S'; |
my $TIMESTAMP = '%Y-%m-%d %H:%M:%S'; |
52 |
|
|
53 |
|
my $sleep_on_error = 5; |
54 |
|
|
55 |
## END CONFIG |
## END CONFIG |
56 |
|
|
57 |
|
|
478 |
my $nr = $1 || 10; |
my $nr = $1 || 10; |
479 |
|
|
480 |
my $sth = $dbh->prepare(qq{ |
my $sth = $dbh->prepare(qq{ |
481 |
select nick,count(*) from log group by nick order by count desc limit $nr |
select |
482 |
|
nick, |
483 |
|
count(*) as count, |
484 |
|
sum(length(message)) as len |
485 |
|
from log |
486 |
|
group by nick |
487 |
|
order by len desc,count desc |
488 |
|
limit $nr |
489 |
}); |
}); |
490 |
$sth->execute(); |
$sth->execute(); |
491 |
$res = "Top $nr users: "; |
$res = "Top $nr users: "; |
492 |
my @users; |
my @users; |
493 |
while (my $row = $sth->fetchrow_hashref) { |
while (my $row = $sth->fetchrow_hashref) { |
494 |
push @users,$row->{nick} . ': ' . $row->{count}; |
push @users,$row->{nick} . ': ' . $row->{count} . '/' . $row->{len} . '=' . sprintf("%.2f", $row->{len}/$row->{count}); |
495 |
} |
} |
496 |
$res .= join(" | ", @users); |
$res .= join(" | ", @users); |
497 |
} elsif ($msg =~ m/^last.*?\s*(\d*)/i) { |
} elsif ($msg =~ m/^last.*?\s*(\d*)/i) { |
542 |
warn "## indetify $NICK\n"; |
warn "## indetify $NICK\n"; |
543 |
$_[KERNEL]->post( $IRC_ALIAS => privmsg => 'nickserv', "IDENTIFY $NICK" ); |
$_[KERNEL]->post( $IRC_ALIAS => privmsg => 'nickserv', "IDENTIFY $NICK" ); |
544 |
}, |
}, |
545 |
|
irc_disconnected => sub { |
546 |
|
warn "## disconnected, reconnecting again\n"; |
547 |
|
$_[KERNEL]->post($IRC_ALIAS => connect => $CONNECT); |
548 |
|
}, |
549 |
|
irc_socketerr => sub { |
550 |
|
warn "## socket error... sleeping for $sleep_on_error seconds and retry"; |
551 |
|
sleep($sleep_on_error); |
552 |
|
$_[KERNEL]->post($IRC_ALIAS => connect => $CONNECT); |
553 |
|
}, |
554 |
# irc_433 => sub { |
# irc_433 => sub { |
555 |
# print "# irc_433: ",$_[ARG1], "\n"; |
# print "# irc_433: ",$_[ARG1], "\n"; |
556 |
# warn "## indetify $NICK\n"; |
# warn "## indetify $NICK\n"; |