html/bestoiber.pl


   1 #!/usr/bin/perl
   2 #
   3 # by Stefan 'tommie' Tomanek
   4 
   5 use strict;
   6 
   7 use vars qw($VERSION %IRSSI);
   8 $VERSION = "2003020801";
   9 %IRSSI = (
  10     authors     => "Stefan 'tommie' Tomanek",
  11     contact     => "stefan\@pico.ruhr.de",
  12     name        => "BeStoiber",
  13     description => "stoibers your messages",
  14     license     => "GPLv2",
  15     url         => "",
  16     modules     => "",
  17     changed     => "$VERSION",
  18     commands	=> "bestoiber"
  19 );
  20 
  21 
  22 use Irssi 20020324;
  23 
  24 sub stoibern ($) {
  25     my ($text) = @_;
  26     my $result;
  27     my $buffer;
  28     foreach (split / /, $text) {
  29 	if (int(rand(4)) == 1) {
  30 	    $result .= ' eehh, ';
  31 	} else {
  32 	    $result .= ' ';
  33 	}
  34 	if (substr($_, 0,1) =~ /[A-Z]+/ && int(rand(2)) == 1) {
  35 	    my @buzzwords = split(/,/, Irssi::settings_get_str('bestoiber_buzzwords'));
  36 	    $result .= $buzzwords[rand(scalar(@buzzwords))].", ";
  37 	}
  38 	if (int(rand(6)) == 1) {
  39 	    $result =~ s/,?\ $//;
  40 	    $result .= ", ".$buffer." " if $buffer;
  41 	}
  42 
  43 	$result .= $_;
  44 	$buffer = $_;
  45     }
  46     $result =~ s/^ //;
  47     return $result;
  48 }
  49 
  50 sub cmd_bestoiber ($$$) {
  51     my ($arg, $server, $witem) = @_;
  52     if ($witem && ($witem->{type} eq 'CHANNEL' || $witem->{type} eq 'QUERY')) {
  53 	$witem->command('MSG '.$witem->{name}.' '.stoibern($arg));
  54     } else {
  55 	print CLIENTCRAP "%B>>%n ".stoibern($arg);
  56     }
  57 }
  58 
  59 Irssi::settings_add_str($IRSSI{name}, 'bestoiber_buzzwords', 'Arbeitslose,Fr. Merkel,Schröder');
  60 
  61 Irssi::command_bind('bestoiber', \&cmd_bestoiber);