puddingbrumsel! *brums*
This commit is contained in:
		
						commit
						c59379777e
					
				
					 1 changed files with 75 additions and 0 deletions
				
			
		
							
								
								
									
										75
									
								
								puddingbrumsel
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								puddingbrumsel
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
#!/usr/bin/perl
 | 
			
		||||
use Net::IRC;
 | 
			
		||||
use Data::Dumper;
 | 
			
		||||
use strict;
 | 
			
		||||
 | 
			
		||||
my $irc = new Net::IRC;
 | 
			
		||||
my $conn = $irc->newconn(Nick    => 'puddingbrumsel',
 | 
			
		||||
                         Server  => 'irc.belwue.de');
 | 
			
		||||
 | 
			
		||||
$conn->{channel} = "!6Y9HIabcde";
 | 
			
		||||
$conn->{lastpudding} = time(); 
 | 
			
		||||
$conn->{specialwday} = 0;
 | 
			
		||||
 | 
			
		||||
# hmm, pudding!
 | 
			
		||||
sub pudding {
 | 
			
		||||
  my $pudding;
 | 
			
		||||
  if (rand(4) > 3) {
 | 
			
		||||
    $pudding = "hmm, ",
 | 
			
		||||
  } elsif (rand(4) > 3) {
 | 
			
		||||
    $pudding = "ah, ",
 | 
			
		||||
  }
 | 
			
		||||
  my (undef, undef, undef, undef, undef, undef, $wday) = localtime(time());
 | 
			
		||||
  if ($wday == $conn->{specialwday}) {
 | 
			
		||||
    my @foo = ( "spinat", "wirsing", "eisbein", "sauerkraut", "tomaten", "hafer" );
 | 
			
		||||
    $pudding .= $foo[int(rand($#foo))];
 | 
			
		||||
  }
 | 
			
		||||
  $pudding .= "pudding";
 | 
			
		||||
  if (rand(4) > 3) {
 | 
			
		||||
    $pudding .= "!";
 | 
			
		||||
  } else {
 | 
			
		||||
    $pudding .= ".";
 | 
			
		||||
  } 
 | 
			
		||||
 | 
			
		||||
  my $brums = "*brums*";
 | 
			
		||||
  if (rand(4) > 3) {
 | 
			
		||||
    $brums .= " *brums*";
 | 
			
		||||
  }
 | 
			
		||||
  if ($wday == $conn->{specialwday}) {
 | 
			
		||||
    $brums .= " *brums*";
 | 
			
		||||
  }
 | 
			
		||||
  return "$pudding $brums";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# What to do when the bot successfully connects.
 | 
			
		||||
sub on_connect {
 | 
			
		||||
    my $conn = shift;
 | 
			
		||||
 | 
			
		||||
    print "Joining $conn->{channel}...\n";
 | 
			
		||||
    $conn->join($conn->{channel});
 | 
			
		||||
    $conn->privmsg($conn->{channel}, pudding);
 | 
			
		||||
}
 | 
			
		||||
$conn->add_handler('376', \&on_connect);
 | 
			
		||||
 | 
			
		||||
sub on_msg {
 | 
			
		||||
  my ($conn, $event) = @_;
 | 
			
		||||
 | 
			
		||||
  if ($event->{to}[0] eq $conn->{channel}) {
 | 
			
		||||
    my $wait = 24 * 3600 * (rand()+0.5);
 | 
			
		||||
    my (undef, undef, undef, undef, undef, undef, $wday) = localtime(time());
 | 
			
		||||
    if ($wday == $conn->{specialwday}) {
 | 
			
		||||
      $wait = 6 * 3600 * (rand()+0.5);
 | 
			
		||||
    }
 | 
			
		||||
    if (time() > $conn->{lastpudding} + $wait) {
 | 
			
		||||
      print "=> $conn->{channel}\n";
 | 
			
		||||
      $conn->privmsg($conn->{channel}, pudding);
 | 
			
		||||
      $conn->{lastpudding} = time();
 | 
			
		||||
    }
 | 
			
		||||
  } else {
 | 
			
		||||
    print "=> $event->{nick}\n";
 | 
			
		||||
    $conn->privmsg($event->{nick}, pudding);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
$conn->add_handler('msg', \&on_msg);
 | 
			
		||||
 | 
			
		||||
$irc->start;
 | 
			
		||||
		Reference in a new issue