my $dbh = DB();
my $scans = $dbh->prepare(q{SELECT s.scan_id
+ ,coords(x,y,z),type
,array_agg(sr.nick) AS nick
,array_agg(sr.id) AS id
FROM scan_requests sr
JOIN scans s USING (pid,type)
+ JOIN current_planet_stats USING (pid)
WHERE sr.time > NOW() - '30 min'::INTERVAL
AND s.tick >= sr.tick AND NOT sr.sent
- GROUP BY scan_id
+ GROUP BY scan_id,x,y,z,type
});
my $sentscan = $dbh->prepare(q{UPDATE scan_requests
SET sent = TRUE WHERE id = ANY($1)
});
$scans->execute;
while (my $scan = $scans->fetchrow_hashref){
- $heap->{irc}->yield(notice => $scan->{nick}, "http://game.planetarion.com/showscan.pl?scan_id=$scan->{scan_id}");
+ $heap->{irc}->yield(notice => $scan->{nick}, "($scan->{coords} $scan->{type})"
+ ." http://game.planetarion.com/showscan.pl?scan_id=$scan->{scan_id}");
$sentscan->execute($scan->{id});
}
return;