http://perl.lt/savaite :: /Kodas/savaite.pl - KTU studentam naudingas irssi skriptas, pasakantis kuri mokslų savaitė (pirma ar antra)./


#######################################################################
# savaite.pl
# - Kuri moxlu savaite -
# Author: Saulius <saulius@tornado.ktu.lt>
#######################################################################

use strict;
use Irssi;
use POSIX qw/strftime/;
use vars qw($VERSION %IRSSI);
$VERSION = '1.00';
%IRSSI   = (
    author      => 'Saulius',
    contact     => 'saulius@tornado.ktu.lt',
    name        => 'savaite',
    description => 'Kuri moxlu savaite !savaite',
    license     => 'Free',
    changed     => '2003-11-08',
);

# kiek sekundziu ignoruoti request'a
my $delay  = 20;
my %floods = ();

# kanalams: #16barakas, #if-2/14

sub msg_public {
    my ( $server, $msg, $nick, $address, $target ) = @_;
    if (   ( ( $target eq "#if-2/14" ) || ( $target eq "#16barakas" ) )
        && ( $msg =~ /^\!savaite$/ ) )
    {

        # test flood:
        if ( defined $floods{$target} ) {
            if   ( time - $floods{$target} < $delay ) { return }
            else                                      { undef $floods{$target} }
        }

        # add ignore:
        $floods{$target} = time;

        # savaite 0=2, 1
        my $wday = ( localtime(time) )[6];
        my $sav = ( strftime "%W", localtime ) % 2;
        my $reply;

        if ( ( $wday == 0 ) || ( $wday == 6 ) ) {
            if   ( $sav == 0 ) { $reply = "bus antra moxlu savaite."; }
            else               { $reply = "bus pirma moxlu savaite."; }
        }
        else {
            if ( $sav == 0 ) { $reply = "dabar \x02pirma\x02 moxlu savaite."; }
            else             { $reply = "dabar \x02antra\x02 moxlu savaite."; }
        }

        # print reply:
        $server->command("MSG $target $reply");
    }
}

sub msg_own_public {
    my ( $server, $msg, $target ) = @_;
    msg_public( $server, $msg, $server->{nick}, 0, $target );
}

# events:
Irssi::signal_add( 'message public',     'msg_public' );
Irssi::signal_add( 'message own_public', 'msg_own_public' );


2005.04.11 - 2012.05.21 © algirdas@perl.lt