From b636c6b6a95af412ac1ecceff7f6ee9ad0749841 Mon Sep 17 00:00:00 2001
From: bw1
Date: Sat, 1 Apr 2017 15:19:21 +0200
Subject: [kicks][crit] use strict; open
---
 scripts/kicks.pl | 237 ++++++++++++++++++++++++++++---------------------------
 1 file changed, 122 insertions(+), 115 deletions(-)
(limited to 'scripts')
diff --git a/scripts/kicks.pl b/scripts/kicks.pl
index 9df9314..af9f567 100644
--- a/scripts/kicks.pl
+++ b/scripts/kicks.pl
@@ -4,76 +4,77 @@
 #    - http://www.penguin-breeder.org/irssi/
 
 #
+use strict;
 use vars qw($VERSION %IRSSI);
 
 use Irssi 20020120;
-$VERSION = "0.26";
+$VERSION = "0.27";
 %IRSSI = (
-    authors	=> "c0ffee",
-    contact	=> "c0ffee\@penguin-breeder.org",
-    name	=> "Various kick and ban commands",
-    description	=> "Enhances /k /kb and /kn with some nice options.",
-    license	=> "Public Domain",
-    url		=> "http://www.penguin-breeder.org/irssi/",
-    changed	=> "Tue Nov 14 23:19:19 CET 2006",
+    authors => "c0ffee",
+    contact => "c0ffee\@penguin-breeder.org",
+    name    => "Various kick and ban commands",
+    description => "Enhances /k /kb and /kn with some nice options.",
+    license => "Public Domain",
+    url     => "http://www.penguin-breeder.org/irssi/",
+    changed => "2017-03-31",
 );
 #
 
 my %kickreasons  = (
-	default => ["random kick victim",
-		    "no",
-		    "are you stupid?",
-		    "i don't like you, go away!",
-		    "oh, fsck off",
-		    "waste other ppls time, elsewhere",
-		    "get out and STAY OUT",
-		    "don't come back",
-		    "no thanks",
-		    "on popular demand, you are now leaving the channel",
-		    "\$N",
-		    "*void*",
-		    "/part is the command you're looking for",
-		    "this is the irssi of borg. your mIRC will be assimilated. resistance is futile.",
-		    "Autokick! mwahahahah!"
-		   ],
-	none	=> [""],
-	topic	=> ["\$topic"],
+    default => ["random kick victim",
+            "no",
+            "are you stupid?",
+            "i don't like you, go away!",
+            "oh, fsck off",
+            "waste other ppls time, elsewhere",
+            "get out and STAY OUT",
+            "don't come back",
+            "no thanks",
+            "on popular demand, you are now leaving the channel",
+            "\$N",
+            "*void*",
+            "/part is the command you're looking for",
+            "this is the irssi of borg. your mIRC will be assimilated. resistance is futile.",
+            "Autokick! mwahahahah!"
+           ],
+    none    => [""],
+    topic   => ["\$topic"],
 );
 
 
 # fine tune the script for different chatnets
-#    cmdline_k		regular expr that matches a correct cmdline for /k
-#    req_chan		0/1 whether the channel is always part of the cmdline
-#    num_nicks		number of nicks ... (-1 = inf)
-#    start_with_dash	0/1 whether the normal cmdline may start with a dash
-#    match_chn		matches channels
-#    match_n		match nicks
-#    match_reason	matches reasons
-#    default_reason	reason to give as "no reason"
+#    cmdline_k      regular expr that matches a correct cmdline for /k
+#    req_chan       0/1 whether the channel is always part of the cmdline
+#    num_nicks      number of nicks ... (-1 = inf)
+#    start_with_dash    0/1 whether the normal cmdline may start with a dash
+#    match_chn      matches channels
+#    match_n        match nicks
+#    match_reason   matches reasons
+#    default_reason reason to give as "no reason"
 my %cfg = (
-	IRC	=> {
-			cmdline_k       => '\s*([!#+&][^\x0\a\n\r ]*)\s+[-\[\]\\\\\`{}\w_|^\'~]+(,[-\[\]\\\\\`{}\w_|^\'~]+)*\s+\S.*',
-			req_chan        => 0,
-			num_nicks       => 3, # actually, /k takes more, but
-			                      # normal irc servers only take
-					      # three in a row
-			start_with_dash => 1,
-			match_chn       => '([!#+&][^\x0\a\n\r ]*)\s',
-			match_n         => '(?:^|\s+)([-\[\]\\\\\`{}\w_|^\'~]+(?:,[-\[\]\\\\\`{}\w_|^\']+)*)',
-			match_reason    => '^\s*[!#+&][^\x0\a\n\r ]*\s+[-\[\]\\\\\`{}\w_|^\'~]+(?:,[-\[\]\\\\\`{}\w_|^\'~]+)*\s+(\S.*)$',
-			default_reason  => '$N'
-		},
-
-	SILC	=> {
-			cmdline_k	=> '\s*[^\x0-\x20\*\?,@!]+\s+[^\x0-\x20\*\?,@!]+\s+\S.*',
-			req_chan	=> 1,
-			num_nicks	=> 1,
-			start_with_dash => 0,
-			match_chn	=> '\s*([^\x0-\x20\*\?,@!]+)\s+[^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*',
-			match_n		=> '\s*(?:[^\x0-\x20\*\?,@!]+\s+)?([^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*)',
-			match_reason	=> '\s*[^\x0-\x20\*\?,@!]+\s+[^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*\s+(\S.*)',
-			default_reason	=> '$N'
-		}
+    IRC => {
+            cmdline_k       => '\s*([!#+&][^\x0\a\n\r ]*)\s+[-\[\]\\\\\`{}\w_|^\'~]+(,[-\[\]\\\\\`{}\w_|^\'~]+)*\s+\S.*',
+            req_chan        => 0,
+            num_nicks       => 3, # actually, /k takes more, but
+                                  # normal irc servers only take
+                          # three in a row
+            start_with_dash => 1,
+            match_chn       => '([!#+&][^\x0\a\n\r ]*)\s',
+            match_n         => '(?:^|\s+)([-\[\]\\\\\`{}\w_|^\'~]+(?:,[-\[\]\\\\\`{}\w_|^\']+)*)',
+            match_reason    => '^\s*[!#+&][^\x0\a\n\r ]*\s+[-\[\]\\\\\`{}\w_|^\'~]+(?:,[-\[\]\\\\\`{}\w_|^\'~]+)*\s+(\S.*)$',
+            default_reason  => '$N'
+        },
+
+    SILC    => {
+            cmdline_k   => '\s*[^\x0-\x20\*\?,@!]+\s+[^\x0-\x20\*\?,@!]+\s+\S.*',
+            req_chan    => 1,
+            num_nicks   => 1,
+            start_with_dash => 0,
+            match_chn   => '\s*([^\x0-\x20\*\?,@!]+)\s+[^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*',
+            match_n     => '\s*(?:[^\x0-\x20\*\?,@!]+\s+)?([^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*)',
+            match_reason    => '\s*[^\x0-\x20\*\?,@!]+\s+[^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*\s+(\S.*)',
+            default_reason  => '$N'
+        }
 );
 
 sub initialize {
@@ -83,51 +84,53 @@ sub initialize {
     my ($basedir) = $conf_file =~ /^(.*\/).*?/;
 
     if (-f $conf_file) {
-	open CONF, $conf_file;
-	
-	while () {
-	    $line++;
-
-	    next if /^\s*#/;
-
-	    chomp;
-	    ($key, $reasons) = /^(\S+)\s+(.+)\s*$/ or next;
-
-	    if ($reasons =~ /\`([^\s]+).*?\`/) {
-		$kickreasons{$key} = "$reasons";
-		Irssi::print("Added executable $1 as $key...");
-		next;
-	    }
-
-	    $reasons =~ s/^"(.*)"$/$1/;
-	    $reasons =~ s/~/$ENV{HOME}/;
-	    $reasons =~ s/^([^\/])/$basedir$1/;
-	    
-	    if (-f $reasons) {
-
-		$kickreasons{$key} = [];
-
-		open REASON, $reasons;
-
-		while () {
-		    chomp;
-		    push @{$kickreasons{$key}}, $_;
-		}
-
-		close REASON;
-		Irssi::print("Loaded $reasons as $key...");
-	    } else {
-		Irssi::print("can't parse config line $line...");
-	    }
-	}
-	close CONF;
+        open CONF, '<', $conf_file;
+
+        my $line=0;
+        
+        while () {
+            $line++;
+
+            next if /^\s*#/;
+
+            chomp;
+            (my $key, my $reasons) = /^(\S+)\s+(.+)\s*$/ or next;
+
+            if ($reasons =~ /\`([^\s]+).*?\`/) {
+                $kickreasons{$key} = "$reasons";
+                Irssi::print("Added executable $1 as $key...");
+                next;
+            }
+
+            $reasons =~ s/^"(.*)"$/$1/;
+            $reasons =~ s/~/$ENV{HOME}/;
+            $reasons =~ s/^([^\/])/$basedir$1/;
+            
+            if (-f $reasons) {
+
+                $kickreasons{$key} = [];
+
+                open REASON, '<',  $reasons;
+
+                while () {
+                    chomp;
+                    push @{$kickreasons{$key}}, $_;
+                }
+
+                close REASON;
+                Irssi::print("Loaded $reasons as $key...");
+            } else {
+                Irssi::print("can't parse config line $line...");
+            }
+        }
+        close CONF;
     } else {
         Irssi::print("Could not find configuration file for kicks...");
-	Irssi::print("... use /set kicks_configuration ");
+        Irssi::print("... use /set kicks_configuration ");
     }
 }
 
-			
+            
 sub get_a_reason {
     my ($topic) = @_;
 
@@ -142,20 +145,22 @@ sub get_a_reason {
 }
 
 sub cmd_realkick {
-    my ($data, $server, $channel, $cmd) = @_;
+    (my $data, my $server, my $channel, my $cmd) = @_;
     my $reasons = "default";
 
     return if not $server
               or not defined $cfg{$server->{chat_type}}
-	      or not $channel
-    	      or $data =~ /^$cfg{$server->{chat_type}}{cmdline_k}$/;
+          or not $channel
+              or $data =~ /^$cfg{$server->{chat_type}}{cmdline_k}$/;
 
     Irssi::signal_stop();
 
     # let's see whether some options where supplied
-    $default = Irssi::settings_get_str("default_kick_options");
+    my $default = Irssi::settings_get_str("default_kick_options");
     $data = "$default $data" if not $default =~ /^\s*$/;
-    @opts = split /\s+/, $data;
+    my @opts = split /\s+/, $data;
+    my $opt;
+    my $fail=0;
 
     while (($opt) = (shift @opts) =~ /^\s*-(\S+)/) {
       
@@ -163,18 +168,18 @@ sub cmd_realkick {
       
         $data =~ s/^\s*-$opt\s+//, 
             $reasons = lc $opt,
-	    next if defined $kickreasons{lc $opt};
+        next if defined $kickreasons{lc $opt};
 
         last if $cfg{$server->{chat_type}}{start_with_dash};
 
         Irssi::print("Unknown option -$opt");
-        $fail = true;
+        $fail = 1;
 
     }
 
     return if $fail;
 
-    $chn = "";
+    my $chn = "";
     ($chn) = $data =~ /^$cfg{$server->{chat_type}}{match_chn}/;
 
     if ($cfg{$server->{chat_type}}{req_chan} && ($chn eq "")) {
@@ -184,37 +189,39 @@ sub cmd_realkick {
 
     # do we need to add a channel?
     if ($chn eq "") {
-	Irssi::print("Not joined to any channel"), return 
-	    if $channel->{type} ne "CHANNEL";
+    Irssi::print("Not joined to any channel"), return 
+        if $channel->{type} ne "CHANNEL";
         $chn = $channel->{name};
 
-	$data = "$chn $data";
+    $data = "$chn $data";
     }
 
     # is a reason already supplied?
+    my $reason;
     $reason = get_a_reason($reasons)
         if not (($reason) = $data =~ /$cfg{$server->{chat_type}}{match_reason}/);
 
     $reason = $cfg{$server->{chat_type}}{default_reason}
         if $reason =~ /^\s*$/;
     
-    @nicks = split /,/, ($data =~ /$cfg{$server->{chat_type}}{match_n}/)[0];
-    $num_nicks = $cfg{$server->{chat_type}}{num_nicks};
+    my @nicks = split /,/, ($data =~ /$cfg{$server->{chat_type}}{match_n}/)[0];
+    my $num_nicks = $cfg{$server->{chat_type}}{num_nicks};
     $num_nicks = @nicks if $num_nicks <= 0;
 
+    my @commands;
     undef @commands;
 
     while (@nicks) {
-        $tmp = ($chn ne "" ? "$chn " : "") .
+        my $tmp = ($chn ne "" ? "$chn " : "") .
                join ",", (splice @nicks,0,$num_nicks);
-	$tmp =~ s/([;\\\$])/\\$1/g;
-	push @commands, "$tmp $reason";
+        $tmp =~ s/([;\\\$])/\\$1/g;
+        push @commands, "$tmp $reason";
     }
     
     foreach (@commands) {
       if ($_ =~ /^$cfg{$server->{chat_type}}{cmdline_k}$/) {
         s/\s+$//;
-        $channel->command("EVAL $cmd $_") 
+        $channel->command("EVAL $cmd $_");
       } else {
         Irssi::print("BUG: generated invalid $cmd command: $_");
       }
@@ -237,7 +244,7 @@ sub cmd_kickban {
 
 Irssi::settings_add_str("misc", "default_kick_options", "");
 Irssi::settings_add_str("misc", "kicks_configuration",
-				Irssi::get_irssi_dir() . "/kicks.conf");
+                Irssi::get_irssi_dir() . "/kicks.conf");
 
 Irssi::command_bind("kick", "cmd_kick");
 Irssi::command_bind("kickban", "cmd_kickban");
-- 
cgit v1.2.3
From 7c018c5e88d5a22256a14651a7545c47d977c6a9 Mon Sep 17 00:00:00 2001
From: bw1
Date: Sat, 1 Apr 2017 17:30:41 +0200
Subject: [kicks][crit] my ($var1, $var2)
---
 scripts/kicks.pl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'scripts')
diff --git a/scripts/kicks.pl b/scripts/kicks.pl
index af9f567..76e87ea 100644
--- a/scripts/kicks.pl
+++ b/scripts/kicks.pl
@@ -94,7 +94,7 @@ sub initialize {
             next if /^\s*#/;
 
             chomp;
-            (my $key, my $reasons) = /^(\S+)\s+(.+)\s*$/ or next;
+            my ($key, $reasons) = /^(\S+)\s+(.+)\s*$/ or next;
 
             if ($reasons =~ /\`([^\s]+).*?\`/) {
                 $kickreasons{$key} = "$reasons";
@@ -145,7 +145,7 @@ sub get_a_reason {
 }
 
 sub cmd_realkick {
-    (my $data, my $server, my $channel, my $cmd) = @_;
+    my ($data, $server, $channel, $cmd) = @_;
     my $reasons = "default";
 
     return if not $server
-- 
cgit v1.2.3