use strict;
use warnings;
+use feature ':5.10';
use Moose;
use MooseX::MethodAttributes;
}
}
+sub time
+ : Help(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.)
+{
+ my ($self, $c, $msg) = @_;
+ my ($tick,$timezone) = $msg =~ /^(\d+)?\s*(\S+)?$/ or die 'ARGS';
+
+ eval {
+ $tick //= $c->model->selectrow_array(q{SELECT tick()});
+ $timezone //= 'GMT';
+ my $query = $c->model->prepare(q{
+SELECT date_trunc('seconds',now() + (($1 - tick()) || ' hr')::interval) AT TIME ZONE $2
+ });
+ $query->execute($tick,$timezone);
+ my $time = $query->fetchrow_array;
+ $c->reply("Time at tick <b>$tick</b>, timezone <b>$timezone</b>: <b>$time</b>");
+ };
+ given ($@){
+ when(/time zone "(.+?)" not recognized/){
+ $c->reply("<c04>$1</c> is not a valid timezone.");
+ }
+ die $@ if $@;
+ }
+}
1;
our @ISA = qw/Exporter/;
-our @EXPORT = qw/shipEff shipStop parseValue prettyValue calcXp findCovOpper tick_time/;
+our @EXPORT = qw/shipEff shipStop parseValue prettyValue calcXp findCovOpper/;
sub shipEff {
my ($msg,$command) = @_;
$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;