Files
Dolo 79bea8cf56
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
Neuaufbau des Repositories
2026-04-10 21:14:11 +02:00

39 lines
1.1 KiB
PHP

<?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;
}
}
}