diff options
Diffstat (limited to 'jobs/PKMembers.php')
-rw-r--r-- | jobs/PKMembers.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/jobs/PKMembers.php b/jobs/PKMembers.php new file mode 100644 index 0000000..c46a82b --- /dev/null +++ b/jobs/PKMembers.php @@ -0,0 +1,47 @@ +<?php + +$options = json_decode($argv[1], true); +$_SERVER['DOCUMENT_ROOT'] = ".."; + +echo("Loading...\n"); + +$app = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/app.json"), true); +$system = $options["system"]; + +if ($app["other"]["id"] === $system) { + echo("Using authentication\n"); + $ctx = stream_context_create([ + 'http' => [ + 'method' => 'GET', + 'header' => + "Authorization: " . $app["other"]["token"] . "\r\n" + ] + ]); +} else { + echo("Not using authentication\n"); + $ctx = stream_context_create([ + 'http' => [ + 'method' => 'GET', + 'headers' => "User-Agent: Mozilla/5.0 (+Cold-Haze/1.1)\r\n" + ] + ]); +} + +echo("Fetching...\n"); +sleep(1); +$data = file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/members", false, $ctx); +json_decode($data); + +if (trim($data) !== "" && $data !== false && json_last_error() === JSON_ERROR_NONE) { + echo("Data is valid, saved it\n"); + $parsed = json_decode($data, true); + + foreach ($parsed as $index => $member) { + echo(($member["display_name"] ?? $member["name"]) . "\n"); + } + + $data = json_encode($parsed, JSON_PRETTY_PRINT); + file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/data/$system/members.json", $data); +} else { + echo("Data is invalid\n"); +} |