Github API Abfrage immer im Limit

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
ich versuche gerade ein plugin für Kirby CMS zu erstellen bei dem ich versionsnummern bei Github abfrage.
Ich setze dafür die Bibliothek knplabs/github-api ein. Ich bekomm aber immer die Meldung das ich mein Abfragelimit schon erreicht habe obwohl ich erst eine Abfrage gesendet habe und auch sonst nichts auf Github gemacht habe.
hat wer ne Idee was ich falsch mache oder woran das sonst liegen könnte?


PHP:
<?php
require_once __DIR__ . '/vendor/autoload.php';

Kirby::plugin('kdjfs/kirbyupdate', [
    'options' => [
        'email' => [
            'type' => 'smtp',
            'host' => null,
            'port' => 587,
            'security' => 'ssl',
            'auth' => true,
            'username' => null,
            'password' => null,
        ],
    ],
    'translations' => [
        'de' => [
            'kirbyupdate.linktxt' => 'Es steht ein Kirby Update bereit!',
            'kirbyupdate.instver' => 'Aktuell installierte Version:',
            'kirbyupdate.repover' => 'Version auf Github: '
        ],
        'en' => [
            'kirbyupdate.linktxt' => 'There is a Kirby Update available!',
            'kirbyupdate.instver' => 'Installed Version:',
            'kirbyupdate.repover' => 'Version on Github:'
        ]
    ],
    'hooks' => [
        'user.login:after' => function () {
        
        }
    ],
    'fields' => [
        'kirbyupdate' => [
            'computed' => [
                'kirbyupdate' => function(){
                    try {
                        $client            = new \Github\Client();
                        $rateLimitCore     = $client->api('rate_limit')->getResource('core')->getLimit();
                        $rateRemainingCore = $client->api('rate_limit')->getResource('core')->getRemaining();

                        if($rateRemainingCore < $rateLimitCore){
                            $repositories  = $client->api('repo')->releases()->latest('getkirby', 'kirby');
                            $repoVersion   = $repositories['name'];
                            $repoZipURL    = $repositories['tarball_url'];
                            $kirbyVersion  = Kirby::version();

                            if($kirbyVersion < $repoVersion){
                                return [
                                    'kirbyVersion' => $kirbyVersion,
                                    'repoVersion' => $repoVersion,
                                    'repoZipURL' => $repoZipURL
                                ];
                            }
                        }
                        else {
                            if(option('debug') == true){
                                throw new Exception('<strong>Kirbyupdate: </strong>You have reached GitHub hourly limit! Actual limit is: ' . $rateLimitCore );
                            }
                            else {
                                return ['githubRate' => false];
                            }
                        }
                    } catch (Exception $e) {
                        return ['githubRate' => $e->getMessage()];
                    }
                }
            ]
        ]
    ]
]);
 
Zurück