1 #**************************************************************************
2 # Copyright (C) 2009 by Michael Andreen <harvATruinDOTnu> *
4 # This program is free software; you can redistribute it and/or modify *
5 # it under the terms of the GNU General Public License as published by *
6 # the Free Software Foundation; either version 2 of the License, or *
7 # (at your option) any later version. *
9 # This program is distributed in the hope that it will be useful, *
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 # GNU General Public License for more details. *
14 # You should have received a copy of the GNU General Public License *
15 # along with this program; if not, write to the *
16 # Free Software Foundation, Inc., *
17 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 #**************************************************************************/
20 package NDIRC::Commands::Def;
27 use MooseX::MethodAttributes;
30 : Help(syntax: .anon nick message)
34 my ($self,$c,$msg) = @_;
36 my ($target,$mess) = $msg =~ /^(\S+) (.*)$/ or die 'ARGS';
38 $c->message("msg $target", "<b>$mess</b>");
39 $c->message("msg ".$c->channel, "<c03>$target << $mess</c>");
43 : Help(syntax: .defcall [callid] | if a call id is given, then shiptypes and eta will be fetched from the database and added to the message)
47 my ($self,$c,$msg) = @_;
48 my ($callnr,$mess) = $msg =~ /^(\d+)?(.*)$/ or die 'ARGS';
53 my $st = $dbh->prepare(q{
55 ,c.landing_tick - (SELECT value::integer FROM misc WHERE id = 'TICK') AS eta
56 ,concat(i.shiptype||'/') AS shiptype
58 JOIN incomings i ON i.call = c.id
59 LEFT OUTER JOIN users dc ON dc.uid = c.dc
60 JOIN users u ON u.uid = c.member
62 GROUP BY c.id,c.landing_tick,c.covered
63 ORDER BY c.landing_tick;
65 my $call = $dbh->selectrow_hashref($st,undef,$callnr);
66 unless (defined $call->{covered}){
67 $c->reply("No call with id: $callnr");
70 chop($call->{shiptype});
71 $callinfo = "(Anti $call->{shiptype} ETA: $call->{eta})";
73 $c->reply("Call <b>$callnr</b> $callinfo is covered.");
77 $c->message("notice $ND::memchan", "DEFENSE REQUIRED!! WAKE UP!!");
78 $c->message("msg $ND::memchan", "DEFENSE REQUIRED $mess $callinfo MSG "
79 .$c->nick." TO RESPOND");