Neuaufbau des Repositories
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class LiveStatusController extends Controller
|
||||
{
|
||||
public function __invoke()
|
||||
{
|
||||
// Wir cachen das Ergebnis für 2 Minuten, um die APIs nicht zu spammen
|
||||
return Cache::remember('live_status', 120, function () {
|
||||
return [
|
||||
'twitch' => $this->checkTwitch('bratander1ste'),
|
||||
'kick' => $this->checkKick('Bratander1ste'),
|
||||
];
|
||||
});
|
||||
}
|
||||
|
||||
private function checkTwitch($username)
|
||||
{
|
||||
// Hinweis: Benötigt TWITCH_CLIENT_ID und TWITCH_CLIENT_SECRET in der .env
|
||||
// Für einen schnellen Test ohne API-Key kannst du hier 'false' zurückgeben
|
||||
return false;
|
||||
}
|
||||
|
||||
private function checkKick($username)
|
||||
{
|
||||
try {
|
||||
$response = Http::get("https://kick.com/api/v1/channels/{$username}");
|
||||
return $response->json()['livestream'] !== null;
|
||||
} catch (\Exception $e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user