summaryrefslogtreecommitdiff
path: root/jobs/PKMembers.php
blob: c46a82b8405ab35422f3d1efb3bdee4a47b2dca1 (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
<?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");
}