html/pelix.pl


   1 use strict;
   2 use vars qw($VERSION %IRSSI);
   3 
   4 use Irssi;
   5 $VERSION = '0.3';
   6 %IRSSI = (
   7 	authors     => 'Mankeli',
   8 	contact     => 'mankeli@einari.org',
   9 	name        => '#pelix Helpers',
  10 	description => 'This script allows you flood shit.',
  11 	license     => 'GNU/GPL',
  12 );
  13 
  14 # INSTRUCTIONS:
  15 # /pelix [cmd] [length]
  16 #
  17 # cmds are: wtf, biy0, sepi, jupe and veez
  18 # (sepi cmd is experimental and should be handled with extreme care)
  19 
  20 # VERSION HISTORY:
  21 # 0.1 		wtf
  22 # 0.1.5		biy0
  23 # 0.1.6		sepi
  24 # 0.2		jupe
  25 # 0.3		veez
  26 
  27 # biy0 script ripped from palomies mirc-script copyright(c) 2003 veezay/palomies.com(r) all rights reserved, used with permission.
  28 
  29 sub pelix_biyo
  30 {
  31 	my ($pituus) = @_;
  32 	my $temppi;
  33 	my $koht;
  34 	my $tod;
  35 	my $eka;
  36 	my $wanha;
  37 
  38 	$tod = int(rand(2));
  39 	if ($tod eq 0)
  40 	{
  41 		$koht = int(rand(6));
  42 		if ($koht eq 0) { $temppi = ":"; }
  43 		if ($koht eq 1) { $temppi = "."; }
  44 		if ($koht eq 2) { $temppi = "D"; }
  45 		if ($koht eq 3) { $temppi = "d"; }
  46 		if ($koht eq 4) { $temppi = ";"; }
  47 		if ($koht eq 5) { $temppi = ","; }
  48 	}
  49 	else
  50 	{
  51 		$temppi = ":";
  52 	}
  53 	$wanha = -1;
  54 	for ($koht=0; $koht<$pituus; $koht++)
  55 	{
  56 		$eka = int(rand(10));
  57 		if (($eka == 0) && ($wanha != 0)) { $temppi.=":"; }
  58 		if (($eka == 1) && ($wanha != 1)) { $temppi.="."; }
  59 		if (($eka == 2) && ($wanha != 2)) { $temppi.="d"; }
  60 		if (($eka == 3) && ($wanha != 3)) { $temppi.=";"; }
  61 		if (($eka == 4) && ($wanha != 4)) { $temppi.=","; }
  62 		if (($eka == 5) && ($wanha != 5)) { $temppi.=":"; }
  63 		if (($eka > 5) && ($eka <= 7) && ($wanha != $eka)) { $temppi.="D"; }
  64 		if (($eka == 9) && ($eka != $wanha)) { $temppi.="_"; }
  65 	}
  66 	return ($temppi);
  67 }
  68 
  69 sub pelix_wtf
  70 {
  71 	my ($pituus) = @_;
  72 	my $temppi;
  73 	my $koht;
  74 	$temppi = "";
  75 #	srand();
  76 	for ($koht=0; $koht<$pituus; $koht++)
  77 	{
  78 		if (int(rand(2)) eq 0)
  79 		{
  80 			$temppi.=";D ";
  81 		}
  82 		else
  83 		{
  84 			$temppi.="? ";
  85 		}
  86 	}
  87 	return($temppi);
  88 }
  89 
  90 sub pelix_jupe
  91 { 
  92         my ($pituus) = @_;
  93         my $temppi;
  94         my $koht;
  95 	my $luku;
  96         $temppi = "";
  97 #       srand();
  98         for ($koht=0; $koht<$pituus; $koht++)
  99         {
 100 		$luku = int(rand(7));
 101                 if ($luku < 3)
 102                 {
 103                         $temppi.=":P";
 104                 }
 105 		elsif($luku == 3)
 106 		{
 107 			$temppi.=";PP;"
 108 		}
 109                 else
 110                 {
 111                         $temppi.="?";
 112                 }
 113 
 114 		if (int(rand(4)) < 3)
 115 		{
 116 			$temppi.=" ";
 117 		}
 118         }
 119         return($temppi);
 120 }
 121 
 122 sub pelix_veez
 123 {
 124 	my ($pituus) = @_;
 125 	my $temppi;
 126 	my $koht;
 127 	$temppi = "";
 128 	for ($koht=0; $koht<$pituus; $koht++)
 129 	{
 130 		if (int(rand(2)) eq 0)
 131 		{
 132 			$temppi.=";";
 133 		}
 134 		else
 135 		{
 136 			$temppi.=")";
 137 		}
 138 	}
 139 	return($temppi);
 140 	
 141 }
 142 
 143 
 144 sub sepinsqd_smile
 145 {
 146 	my ($pituus) = @_;
 147 	my $temppi;
 148 	my $koht;
 149 	my $arvo;
 150 
 151 	$temppi = "";
 152 	for ($koht=0; $koht<$pituus; $koht++)
 153 	{
 154 		$arvo = int(rand(4));
 155 		if($arvo eq 0)
 156 		{
 157 			$temppi.="A";
 158 		}
 159 		elsif($arvo eq 1)
 160 		{
 161 			$temppi.="Å";
 162 		}
 163 		else
 164 		{
 165 			$temppi.=";";
 166 		}
 167 	}
 168 	return($temppi);
 169 }
 170 
 171 sub pelix
 172 {
 173 	my @teksti;
 174 #     @version = $finger =~ /:\s*(\S+)\s*$/gm;
 175 	my ($data, $server, $witem) = @_;
 176 	my @arg = split(/ +/, $data);
 177 	my $tpit;
 178 	
 179 	$tpit = @arg[1];
 180 	
 181 
 182 	if (@arg[0] eq "biy0")
 183 	{
 184 		@teksti = pelix_biyo($tpit);
 185 	}
 186 	elsif (@arg[0] eq "wtf")
 187 	{
 188 		@teksti = pelix_wtf($tpit);
 189 	}
 190 	elsif (@arg[0] eq "jupe")
 191 	{
 192 		@teksti = pelix_jupe($tpit);
 193 	}
 194 	elsif (@arg[0] eq "veez")
 195 	{
 196 		@teksti = pelix_veez($tpit);
 197 	}
 198 	elsif (@arg[0] eq "sepi")
 199 	{
 200 		@teksti = sepinsqd_smile($tpit);
 201 	}
 202 	elsif (@arg[0] eq "")
 203 	{
 204 		Irssi::print("no ÄgZön specified.");
 205 		return;
 206 	}
 207 	else
 208 	{
 209 		Irssi::print("No such ÄgZön as @arg[0].");
 210 		return;
 211 	}
 212       
 213 	if (!$server || !$server->{connected})
 214 	{
 215 		Irssi::print("Not connected to server");
 216 		return;	
 217 	}
 218 	
 219 	if ($witem && ($witem->{type} eq "CHANNEL" || $witem->{type} eq "QUERY"))
 220 	{
 221 		$witem->command("MSG ".$witem->{name}." @teksti");
 222 	}
 223 		else
 224 	{
 225 		Irssi::print("No active channel/query in window");
 226 	}
 227 }
 228 
 229 sub pelix_help
 230 {
 231 	Irssi::print("Usage: runQ");
 232 }
 233 
 234 Irssi::command_bind('pelix', 'pelix');
 235 Irssi::command_bind('help pelix','pelix_help');