isSuspended()) { echo Carbon::now()->isoFormat('LLL') . " Ignoring suspended server"; continue; } //vars $user = $server->user; $price = ($server->product->price / 30) / 24; //remove credits or suspend server if ($user->credits >= $price) { $user->decrement('credits', $price); //log echo Carbon::now()->isoFormat('LLL') . " [CREDIT DEDUCTION] Removed " . number_format($price, 2, '.', '') . " from user (" . $user->name . ") for server (" . $server->name . ")\n"; } else { $response = Pterodactyl::client()->post("/application/servers/{$server->pterodactyl_id}/suspend"); if ($response->successful()) { echo Carbon::now()->isoFormat('LLL') . " [CREDIT DEDUCTION] Suspended server (" . $server->name . ") from user (" . $user->name . ")\n"; $server->update(['suspended' => now()]); } else { echo Carbon::now()->isoFormat('LLL') . " [CREDIT DEDUCTION] CRITICAL ERROR! Unable to suspend server (" . $server->name . ") from user (" . $user->name . ")\n"; dump($response->json()); } } } }); return 'Charged credits for existing servers!\n'; } }