archive

- Random tools & helpful resources for IRC
git clone git://git.acid.vegas/archive.git
Log | Files | Refs | Archive

fuckyou.pl (896B)

      1 use strict;
      2 use warnings;
      3 use Irssi;
      4 use Irssi::Irc;
      5 
      6 sub getRandom {
      7     my $length=5 + int(rand(21 - 5));
      8     my @chars=('a'..'z','A'..'Z','0'..'9');
      9     my $random_string;
     10     foreach (1..$length) {
     11         $random_string.=$chars[rand @chars];
     12     }
     13     return $random_string;
     14 }
     15 
     16 sub cmd_fuckyou {
     17     my ($data, $server, $dest)  = @_;
     18     my ($nick, $amount) = split(/ +/, $data);
     19     unless($nick && $amount) {
     20         Irssi::print("/fuckyou <nick> <number>");
     21         return;
     22     }
     23     for(1 .. $amount) {
     24         my $rand = &getRandom();
     25         $server->command("sajoin $nick #$rand");
     26     }
     27 }
     28 
     29 sub cmd_unfuck {
     30     my @windows = Irssi::windows();
     31     foreach my $window (@windows) {
     32         next if $window->{immortal};
     33         $window->{active}->{topic_by} ? next : $window->destroy;
     34     }
     35 }
     36 
     37 Irssi::command_bind('fuckyou', 'cmd_fuckyou');
     38 Irssi::command_bind('unfuck',  'cmd_unfuck');