diff options
Diffstat (limited to 'scripts/countdown.pl')
| -rw-r--r-- | scripts/countdown.pl | 59 | 
1 files changed, 59 insertions, 0 deletions
| diff --git a/scripts/countdown.pl b/scripts/countdown.pl new file mode 100644 index 0000000..01f6cad --- /dev/null +++ b/scripts/countdown.pl @@ -0,0 +1,59 @@ +# countdown.pl + +# adds public countdown command + +# ver 1.0  +#   - initial release + +use Irssi; +use strict; +use Time::Local; +use vars qw($VERSION %IRSSI); + +$VERSION = "1.0"; +%IRSSI = ( +    authors     => 'Mikko \'Quidz\' Salmi', +    name        => 'countdown', +    contact	=> 'mikko@quidz.net', +    description => 'adds public channel command for counting down something', +    license     => 'Public Domain', +    changed	=> 'Thu Aug 8 12:06:46 EET 2002' +); + +Irssi::settings_add_str('misc','countdown_target','2003 01 01 00 00 00'); +Irssi::settings_add_str('misc','countdown_message','New year 2003:'); +Irssi::settings_add_str('misc','countdown_command','!countdown'); +Irssi::settings_add_str('misc','countdown_chan','#countdown'); + +sub sig_public { +	my ($server, $msg, $nick, $address, $target) = @_; +	my $ctarget = Irssi::settings_get_str("countdown_target"); +	my $cinfo = Irssi::settings_get_str("countdown_message"); +	my $ccmd = Irssi::settings_get_str("countdown_command"); +	my $cchan = Irssi::settings_get_str("countdown_chan"); +	if ($msg eq $ccmd and lc($target) eq lc($cchan)) +	{ +		if ($ctarget =~ /^(\d+?) (\d+?) (\d+?) (\d+?) (\d+?) (\d+?)$/) +		{ +			my $sec = timelocal($6,$5,$4,$3,$2-1,$1-1900); +			$sec -= time; +			my $min = ($sec/60)-(($sec%60)/60); +			my $hour = ($min/60)-(($min%60)/60); +			my $day = ($hour/24)-(($hour%24)/24); +			$sec = ($sec%60); +			$min = ($min%60); +			$hour = ($hour%24); +			if ($day) { $cinfo = $cinfo." $day d"; } +			if ($hour) { $cinfo = $cinfo." $hour h"; } +			if ($min) { $cinfo = $cinfo." $min m"; } +			if ($sec) { $cinfo = $cinfo." $sec s"; } +			$server->command("msg $target $cinfo"); +		} else +		{ +			Irssi::print("Error: countdown.pl misc.countdown_target sould be format <year> <month> <day> <hour> <minute> <second>"); +		} +	} +} + +Irssi::signal_add_last('message public', 'sig_public'); +Irssi::print("Script : countdown.pl loaded"); | 
