# Free Software Foundation, Inc., *
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
#**************************************************************************/
-package ND::IRC::Members;
+package NDIRC::Members;
use strict;
use warnings;
-use ND::IRC::Access;
+use NDIRC::Access;
use ND::DB;
require Exporter;
our @EXPORT = qw/currentCalls showraids checkPoints findSMS/;
sub currentCalls {
- my ($verbose) = @_;
- DB();
+ my ($msg, $command) = @_;
if (1){ #TODO: add check for member
my $f = $ND::DBH->prepare(<<SQL
- SELECT (c.landing_tick - tick()) AS eta, concat(i.shiptype||'/') AS shiptype, dc.username,p.x
+ SELECT (c.landing_tick - tick()) AS eta, concat(i.shiptype||'/') AS shiptype, dc.username
FROM calls c
JOIN incomings i ON i.call = c.id
LEFT OUTER JOIN users dc ON dc.uid = c.dc
JOIN users u ON u.uid = c.member
- JOIN current_planet_stats p ON u.planet = p.id
WHERE open AND (c.landing_tick - tick()) >= 7
- GROUP BY c.id,c.landing_tick,dc.username,p.x
+ GROUP BY c.id,c.landing_tick,dc.username
ORDER BY c.landing_tick;
SQL
);
while (my @row = $f->fetchrow()){
chop($row[1]);
my $dc = defined $row[2] ? $row[2] : '';
- $calls .= " (Anti $row[1] ETA: $row[0] Cluster: $row[3] DC: $dc) |"
+ $calls .= " (Anti $row[1] ETA: $row[0] DC: $dc) |"
}
chop($calls);
- if (defined $verbose || length $calls > 0){
+ if (defined $command || length $calls > 0){
$ND::server->command("msg $ND::target Current calls: $calls");
}
}
}
sub showraids {
- DB();
if (1){ #TODO: add check for member
my $f = $ND::DBH->prepare(<<SQL
SELECT id FROM raids
$f->execute();
my $calls = "";
while (my ($raid) = $f->fetchrow()){
- $calls .= " https://nd.ruin.nu/raids?raid=$raid |"
+ $calls .= " https://nd.ruin.nu/raids/view/$raid |"
}
$calls = "No open future raids" if ($f->rows == 0);
chop($calls);
}
sub checkPoints {
- my ($nick) = @_;
- DB();
+ my ($nick,$command) = @_;
my $f;
if ($nick){
- if (officer() || dc() || bc()){
+ if (officer() || dc() || bc() || ia()){
$f = $ND::DBH->prepare("SELECT username, attack_points, defense_points, scan_points, humor_points FROM users WHERE username ILIKE ?");
}else{
$ND::server->command("msg $ND::target Only officers are allowed to check for others");
}
sub findSMS {
- my ($nick) = @_;
- DB();
- my $f;
+ my ($nick,$command) = @_;
+ unless (defined $nick){
+ $ND::server->command("notice $ND::nick syntax: .$command nick | % can be used for wildcards \%arro\% will match barrow");
+ return;
+ }
if (officer() || dc()){
- $f = $ND::DBH->prepare("SELECT username,COALESCE(sms,'nothing added') FROM users WHERE username ILIKE ?");
+ my $f = $ND::DBH->prepare("SELECT username,COALESCE(sms,'nothing added') FROM users WHERE username ILIKE ?");
if (my ($username,$sms) = $ND::DBH->selectrow_array($f,undef,$nick)){
- $ND::server->command("notice $ND::target $ND::B$username$ND::B has sms $ND::B$sms$ND::B");
+ $ND::server->command("notice $ND::nick $ND::B$username$ND::B has sms $ND::B$sms$ND::B");
}else{
- $ND::server->command("notice $ND::target No hit, maybe spelling mistake, or add % as wildcard");
+ $ND::server->command("notice $ND::nick No hit, maybe spelling mistake, or add % as wildcard");
}
- }else{
- $ND::server->command("notice $ND::target Only dcs and above are allowed to check for others");
}
}