my $kmem = scalar @planets;
$c->reply("$a ($kmem/$members) : ". join " ", @planets);
}
+
+sub allygals
+ : Help(Usage: .allygals ally [min] | lists gals with a minimum of 3, or specified, allied planets. % can be used for wildcards \%-crew\% will match [F-Crew])
+ : ACL(irc_allygals)
+{
+ my ($self,$c,$msg) = @_;
+ my ($ally,$min) = $msg =~ /^(\S+)(?: (\d+))?$/ or die 'ARGS';
+ my $dbh = $c->model;
+ $min //= 3;
+
+ my ($a) = $dbh->selectrow_array(q{
+SELECT alliance
+FROM alliances JOIN alliance_stats USING (aid)
+WHERE tick = (SELECT max(tick) FROM alliance_stats)
+ AND alliance ILIKE $1
+ },undef,$ally);
+ unless ($a){
+ $c->reply("No alliance matching '$ally'");
+ return;
+ }
+ my $query = $dbh->prepare(q{
+SELECT x,y, count(*) FROM current_planet_stats WHERE alliance = $1
+GROUP BY x,y
+HAVING count(*) >= $2
+ORDER BY count DESC,x,y
+ });
+ $query->execute($a,$min);
+ my @gals;
+ while (my $g = $query->fetchrow_hashref){
+ push @gals,"$g->{x}:$g->{y} ($g->{count})";
+ }
+ my $kgals = scalar @gals;
+ $c->reply("$a ($kgals) : ". join " ", @gals);
+}
+
1;