From eb496c248b615ab2aca038757df256f3f63648a0 Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Sat, 5 Dec 2009 13:49:14 +0100 Subject: [PATCH] Converted Misc --- Commands/Misc.pm | 55 ++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/Commands/Misc.pm b/Commands/Misc.pm index a576f74..ae4b561 100644 --- a/Commands/Misc.pm +++ b/Commands/Misc.pm @@ -17,44 +17,43 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * #**************************************************************************/ -package NDIRC::Commands::Misc; - use strict; use warnings; -use Moose; -use MooseX::MethodAttributes; +use MooseX::Declare; +use NDIRC::Dispatcher; -sub nosmoke - : Help(.nosmoke nick | shows how long the person has been smoke free) -{ - my ($self, $c, $msg) = @_; - my ($nick) = $msg =~ /^(\w+)?/; - my $dbh = $c->model; +command nosmoke => { + help => q(.nosmoke nick | shows how long the person has been smoke free), +}, class extends NDIRC::Command { + method execute($c,$msg) { + my ($nick) = $msg =~ /^(\w+)?/; + my $dbh = $c->model; - my $time = $dbh->selectrow_hashref(q{ + my $time = $dbh->selectrow_hashref(q{ SELECT date_part('day',time) AS days, date_part('hour',time) AS hours, date_part('minute',time) AS mins FROM (SELECT now() - time AS time FROM last_smokes WHERE nick = $1) l - },undef,$nick); - if ($time){ - my $weeks = int($time->{days} / 7); - if ($weeks){ - $weeks = "$weeks weeks"; + },undef,$nick); + if ($time){ + my $weeks = int($time->{days} / 7); + if ($weeks){ + $weeks = "$weeks weeks"; + }else{ + $weeks = ""; + } + my $days = $time->{days} % 7; + $c->reply("$nick has been smoke free for: $weeks $days days $time->{hours} hours and $time->{mins} minutes"); }else{ - $weeks = ""; - } - my $days = $time->{days} % 7; - $c->reply("$nick has been smoke free for: $weeks $days days $time->{hours} hours and $time->{mins} minutes"); - }else{ - my $nonsmokers = $dbh->prepare(q{SELECT nick FROM last_smokes ORDER BY nick}); - $nonsmokers->execute; - my @nonsmokers; - while (my $nonsmoker = $nonsmokers->fetchrow_hashref){ - push @nonsmokers,$nonsmoker->{nick}; + my $nonsmokers = $dbh->prepare(q{SELECT nick FROM last_smokes ORDER BY nick}); + $nonsmokers->execute; + my @nonsmokers; + while (my $nonsmoker = $nonsmokers->fetchrow_hashref){ + push @nonsmokers,$nonsmoker->{nick}; + } + $c->reply("I keep track of the following ppl: @nonsmokers"); } - $c->reply("I keep track of the following ppl: @nonsmokers"); } -} +}; 1; -- 2.39.2