Skip to content
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
51 lines (44 sloc) 1.39 KB
# /OWNAGE
# shows how many channels you're joined and how many in them you're op, and
# how many nicks are in those channels (not including you)
use strict;
use vars qw($VERSION %IRSSI);
use Irssi;
$VERSION = '20180715';
%IRSSI = (
authors => '',
contact => '',
name => 'ownage',
description => 'shows how many channels you\'re joined and how many in them you\'re op, and
how many nicks are in those channels',
license => '',
commands => 'ownage',
);
sub cmd_ownage {
my $chans = 0;
my $opchans = 0;
my $nicks = 0;
my $opnicks = 0;
foreach my $channel ( Irssi::channels() ) {
$chans++;
if ( $channel->{chanop} ) {
$opchans++;
my @channicks = $channel->nicks();
$nicks += ( scalar @channicks ) - 1;
$opnicks--; # don't count youself
foreach my $nick (@channicks) {
$opnicks++ if $nick->{op};
}
}
}
my ( undef, undef, $dest ) = @_;
my $text =
"@" . "$opchans / $chans : $nicks nicks (of which $opnicks are ops)";
if ( $dest && ( $dest->{type} eq "CHANNEL" || $dest->{type} eq "QUERY" ) ) {
$dest->command("msg $dest->{name} $text");
}
else {
Irssi::print $text, MSGLEVEL_CLIENTCRAP;
}
}
Irssi::command_bind( 'ownage', 'cmd_ownage' );
You can’t perform that action at this time.