diff options
Diffstat (limited to 'app/View/Components/DiscordStatus.php')
-rw-r--r-- | app/View/Components/DiscordStatus.php | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/app/View/Components/DiscordStatus.php b/app/View/Components/DiscordStatus.php deleted file mode 100644 index fac06ae..0000000 --- a/app/View/Components/DiscordStatus.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php - -namespace App\View\Components; - -use Closure; -use Illuminate\Contracts\View\View; -use Illuminate\Support\Facades\Cache; -use Illuminate\Support\Facades\Config; -use Illuminate\Support\Facades\Http; -use Illuminate\View\Component; - -class DiscordStatus extends Component -{ - /** - * Create a new component instance. - */ - public function __construct() - { - // - } - - /** - * Returns current Discord presence from Lanyard API - * @return array|mixed - */ - public function getDiscordPresence(): mixed { - // If it's already cached just return that - if (Cache::has('discord_presence')) { - return Cache::get('discord_presence'); - } - - $response = Http::get('https://api.lanyard.rest/v1/users/' . Config::get('services.lanyard.user_id')); - $data = $response->json(); - $presence = $data["data"]; - Cache::put('discord_presence', $presence, now()->addSeconds(60)); - return $presence; - } - - public function getOnlineStatus(): array { - $presence = $this->getDiscordPresence(); - return match ($presence["discord_status"]) { - "online", "dnd" => [ - "text" => "online", - "color" => "#02c83a" - ], - "idle" => [ - "text" => "away", - "color" => "#d77c20" - ], - default => [ - "text" => "offline", - "color" => "#ca3329" - ], - }; - } - - /** - * Get the view / contents that represent the component. - */ - public function render(): View|Closure|string - { - return view('components.discord-status', [ - 'status' => $this->getOnlineStatus(), - ]); - } -} |