prepare('SELECT * FROM music_requests WHERE status = "queued" ORDER BY created_at ASC LIMIT 1'); $stmt->execute(); $request = $stmt->fetch(); if ($request) { $id = $request['id']; $query = $request['query_text']; $guild = $request['guild_name']; echo "[+] Processing request #{$id}: '{$query}' for server '{$guild}'\n"; // Start "playing" $update = $pdo->prepare('UPDATE music_requests SET status = "playing" WHERE id = ?'); $update->execute([$id]); add_log('Bot', 'Playing', "Now playing: {$query}", $guild); // Simulation: Wait 10 seconds (in a real bot, this would wait for the audio to finish) sleep(10); // Mark as "ended" $update = $pdo->prepare('UPDATE music_requests SET status = "ended" WHERE id = ?'); $update->execute([$id]); add_log('Bot', 'Finished', "Finished playing: {$query}", $guild); echo "[#] Request #{$id} completed.\n"; } // 2. Refresh settings occasionally (every 30 seconds) static $last_refresh = 0; if (time() - $last_refresh > 30) { $settings = get_settings(); $last_refresh = time(); } // Sleep to avoid high CPU usage sleep(2); } catch (Exception $e) { echo "[!] ERROR: " . $e->getMessage() . "\n"; add_log('System', 'Worker Error', $e->getMessage()); sleep(10); // Wait longer on error before retry } }