summaryrefslogtreecommitdiff
path: root/includes/jobs/PKMembers.php
blob: 529a820ea19129f3437a3bd830d6105b3fb5cc13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php

$options = json_decode($argv[1], true);
$_SERVER['DOCUMENT_ROOT'] = "../..";
require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/composer/vendor/autoload.php';
use ColorThief\ColorThief;

$app = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/app.json"), true);
$system = $options["system"];

if ($app["other"]["id"] === $system) {
    $ctx = stream_context_create([
        'http' => [
            'method' => 'GET',
            'header' =>
                "Authorization: " . $app["other"]["token"] . "\r\n"
        ]
    ]);
} else {
    $ctx = stream_context_create([
        'http' => [
            'method' => 'GET'
        ]
    ]);
}

$data = file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/members", false, $ctx);

if (trim($data) !== "" && $data !== false) {
    $parsed = json_decode($data, true);

    foreach ($parsed as $index => $member) {
        if (isset($member["avatar_url"])) {
            $dominantColor = substr(ColorThief::getColor($member["avatar_url"], outputFormat: "hex"), 1);
        } else {
            $dominantColor = "ffffff";
        }

        $parsed[$index]["dominant_color"] = $dominantColor;

        if (!isset($member["color"])) {
            $parsed[$index]["color"] = $dominantColor;
        }
    }

    $data = json_encode($parsed, JSON_PRETTY_PRINT);
    file_put_contents("./data/$system/members.json", $data);
}