diff options
Diffstat (limited to 'includes/jobs/PKMembers.php')
-rw-r--r-- | includes/jobs/PKMembers.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/includes/jobs/PKMembers.php b/includes/jobs/PKMembers.php new file mode 100644 index 0000000..529a820 --- /dev/null +++ b/includes/jobs/PKMembers.php @@ -0,0 +1,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); +}
\ No newline at end of file |