X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=PA.pm;fp=PA.pm;h=6c39098a874249213da80824b51c70cfd49d5455;hb=ea158d30abf874821b98aa388dd9dcc71b4322dc;hp=7a4a4b81e1c98c91971e6f746d23b22a895fa874;hpb=47383ede9e30dfc3a233f3e9fa136fecb4ce5ae7;p=NDIRC.git diff --git a/PA.pm b/PA.pm index 7a4a4b8..6c39098 100644 --- 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;