]> ruin.nu Git - NDIRC.git/commitdiff
Added time command
authorMichael Andreen <harv@ruin.nu>
Tue, 18 Nov 2008 20:04:33 +0000 (21:04 +0100)
committerMichael Andreen <harv@ruin.nu>
Tue, 18 Nov 2008 20:45:45 +0000 (21:45 +0100)
PA.pm

diff --git a/PA.pm b/PA.pm
index 7a4a4b81e1c98c91971e6f746d23b22a895fa874..6c39098a874249213da80824b51c70cfd49d5455 100644 (file)
--- a/PA.pm
+++ b/PA.pm
@@ -28,7 +28,7 @@ require Exporter;
 
 our @ISA = qw/Exporter/;
 
-our @EXPORT = qw/checkPlanet checkGal shipEff shipStop parseValue prettyValue calcXp findCovOpper/;
+our @EXPORT = qw/checkPlanet checkGal shipEff shipStop parseValue prettyValue calcXp findCovOpper tick_time/;
 
 sub checkPlanet {
        my ($msg) = @_;
@@ -285,4 +285,24 @@ sub findCovOpper {
        $ND::server->command("notice $ND::nick The planet that cov opped you is one of: $coords");
 }
 
+sub tick_time {
+       my ($msg,$command) = @_;
+       my $tick = $ND::tick;
+       my $timezone = 'GMT';
+       if ($msg =~ /^(\d+)(?: (\S+))?/){
+               $tick = $1 if defined $1;
+               $timezone = $2 if defined $2;
+       }elsif ($msg =~ /^(\S+)/){
+               $timezone = $1;
+       }elsif ($msg){
+               $ND::server->command("notice $ND::nick syntax: .time [tick] [timezone] | Gives the time at the specied tick. Assumes GMT if no timezone is given and current tick if no tick is given.");
+               return;
+       }
+       my $query = $ND::DBH->prepare(q{SELECT date_trunc('seconds',now() + (($1 - tick()) || ' hr')::interval) AT TIME ZONE $2});
+       $query->execute($tick,$timezone);
+       my $time = $query->fetchrow_array;
+       $ND::server->command("notice $ND::nick Time at tick $ND::B$tick$ND::O, timezone $ND::B$timezone$ND::O: $ND::B$time$ND::O");
+
+}
+
 1;