Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
65 lines (52 sloc) 1.51 KB
use strict;
use warnings;
our $VERSION = "0.5";
our %IRSSI = (
authors => 'Jari Matilainen, init[1]@irc.freenode.net',
contact => 'vague@vague.se',
name => 'cmpchans',
description => 'Compare nicks in two channels',
license => 'Public Domain',
url => 'http://vague.se'
);
use Irssi::TextUI;
use Data::Dumper;
sub cmd_cmp {
local $/ = " ";
my ($args, $server, $witem) = @_;
my (@channels) = split /\s+/, $args;
my $server1 = $server;
if ($channels[0] =~ s,(.*?)/,,) {
$server1 = Irssi::server_find_tag($1) || $server;
}
my $chan1 = $server1->channel_find($channels[0]);
if(!$chan1) {
Irssi::active_win()->{active}->print("You have to specify atleast one channel to compare nicks to");
return;
}
my @nicks_1;
my @nicks_2;
@nicks_1 = $chan1->nicks() if(defined $chan1);
if(not defined $channels[1]) {
@nicks_2 = $witem->nicks();
}
else {
if ($channels[1] =~ s,(.*?)/,,) {
$server1 = Irssi::server_find_tag($1) || $server;
}
my ($chan2) = $server1->channel_find($channels[1]);
@nicks_2 = $chan2->nicks() if(defined $chan2);
}
return if(scalar @nicks_1 == 0 || scalar @nicks_2 == 0);
my %count = ();
my @intersection;
foreach (@nicks_1, @nicks_2) { $count{$_->{nick}}++; }
foreach my $key (keys %count) {
if($count{$key} > 1) {
push @{\@intersection}, $key;
}
}
my $common = join(", ", @intersection);
$witem->print("Common nicks: " . $common);
}
Irssi::command_bind("cmp", \&cmd_cmp);