All pastes #798324 Raw Edit

Anonym

public text v1 · immutable
#798324 ·published 2007-11-26 19:18 UTC
rendered paste body
 use strict;
 use vars ('$VERSION','%IRSSI');
 use Irssi;
 $VERSION = '0.1';
 %IRSSI = ( authors     => 'Nikolas Garofil', contact     => 'nikolas@garofil.be',
 name        => 'tell', description => 'stuurt boodschappen naar users die er niet zijn',
 license     => 'GPL v3',
 );
'my %boodschappen;'
 sub iemandspreekt {
         my ($server,$boodschap,$nick,$adres,$kanaal)=@_;
         #onthoud een boodschap
         if($boodschap=~/^\s*[\\!]tell\s+(\S+)\s+(.*)$/i){
                 push(@{$boodschappen{$1}},"$nick told you \"$2\" but you were offline");
                 $server->command("msg $kanaal $nick: I'll tell it to $1");
         }
         #als iemand iets zegt is hij aanwezig dus stuurt de bot alle boodschappen, maar als die iemand '!tell zichzelf' deed, zeg het dan nog niet
         my $laatste;
         if($boodschap=~/^\s*[\\!]tell\s+($nick)\s+(.*)$/i){ $laatste=pop @{$boodschappen{$nick}}; }
         foreach(@{$boodschappen{$nick}}){
                 $server->command("msg $kanaal $nick: $_");
         }
         @{$boodschappen{$nick}}=();
         if($boodschap=~/^\s*[\\!]tell\s+($nick)\s+(.*)$/i){ @{$boodschappen{$nick}}=($laatste); }
 sub iemandjoint {
         my ($server, $kanaal, $nick, $host) = @_;
         foreach(@{$boodschappen{$nick}}){
                 $server->command("msg $kanaal $nick: $_");
         }
         @{$boodschappen{$nick}}=();
 }
 Irssi::signal_add("message public", "iemandspreekt");