store match history for all members
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 21 Aug 2019 22:23:41 +0000 (00:23 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 21 Aug 2019 22:31:16 +0000 (00:31 +0200)
getsc2clan

index 02990826636280b35663c791a9d8872c883334c5..86cb3b870a2fb588906044d2baecfc27286bd5e7 100755 (executable)
@@ -67,6 +67,15 @@ my (@members, %memberidx);
 $memberidx{ $_->{id} } //= push(@members, $_) && $#members
        for map { $_->{characters}->@* } @ladders;
 
+my @games;
+for my $member (map { $_->{id} } @members) {
+       my $usergames = blizget(legacy => @realmget => $member => 'matches');
+       for ($usergames->{matches}->@*) {
+               $_->{player} = $memberidx{$member};
+               push @games, $_;
+       }
+}
+
 say JSON->new->canonical->pretty->encode({
        name     => $members[0]->{clanName},
        tag      => $members[0]->{clanTag},
@@ -91,4 +100,5 @@ say JSON->new->canonical->pretty->encode({
                blizget(metadata => @realmget => $_->{id})
                # lacks mmr, fav race (available in new api)
        } @members],
+       matches  => [nsort_by { -$_->{date} } @games],
 }) =~ s/(?: \G \d,? | \[ ) \K \s+ (?=\d|\])/ /grx; # concat arrays of single digits