diff --git a/assets/pasted-20260214-182641-666451be.jpg b/assets/pasted-20260214-182641-666451be.jpg new file mode 100644 index 0000000..d27d8ac Binary files /dev/null and b/assets/pasted-20260214-182641-666451be.jpg differ diff --git a/bot.php b/bot.php index 49b06c3..60887ad 100644 --- a/bot.php +++ b/bot.php @@ -8,24 +8,37 @@ require_once __DIR__ . '/db/config.php'; use Discord\Discord; use Discord\Voice\VoiceClient; use Discord\Parts\Channel\Channel; -use Discord\Parts\User\Member; use Discord\WebSockets\Event; use Discord\WebSockets\Intents; use Discord\Builders\CommandBuilder; use Discord\Builders\MessageBuilder; use Discord\Parts\Interactions\Interaction; use Discord\Parts\Interactions\Command\Option; +use React\ChildProcess\Process; $db = db(); +// Ensure tables exist +$db->exec("CREATE TABLE IF NOT EXISTS bot_logs (id INT AUTO_INCREMENT PRIMARY KEY, message TEXT, log_level VARCHAR(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)"); +$db->exec("CREATE TABLE IF NOT EXISTS bot_settings (setting_key VARCHAR(255) PRIMARY KEY, setting_value TEXT)"); +$db->exec("CREATE TABLE IF NOT EXISTS bot_alarms (id INT AUTO_INCREMENT PRIMARY KEY, user_id VARCHAR(255) UNIQUE, guild_id VARCHAR(255), channel_id VARCHAR(255), alarm_time TIME, audio_url TEXT, is_active TINYINT(1) DEFAULT 1, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)"); + +// Default settings if not present +$stmt = $db->prepare("INSERT IGNORE INTO bot_settings (setting_key, setting_value) VALUES (?, ?)"); +$stmt->execute(['sahur_time', '03:00']); +$stmt->execute(['voice_channel_id', '1457687430189682781']); +$stmt->execute(['sahur_source', 'sahur.mp3']); +$stmt->execute(['bot_token', '']); // User should set this manually or it might be already set + $settings = $db->query("SELECT setting_key, setting_value FROM bot_settings")->fetchAll(PDO::FETCH_KEY_PAIR); $token = $settings['bot_token'] ?? ''; -$vcId = $settings['voice_channel_id'] ?? '1457687430189682781'; -$sahurTime = $settings['sahur_time'] ?? '03:00'; -$sahurSource = $settings['sahur_source'] ?? 'sahur.mp3'; +if (empty($token)) { + // Try to get from env if missing in DB + $token = getenv('BOT_TOKEN') ?: ''; +} if (empty($token)) { - echo "Error: Bot token is missing in settings.\n"; + echo "Error: Bot token is missing. Please set it in bot_settings table or as BOT_TOKEN env var.\n"; exit(1); } @@ -34,327 +47,379 @@ $discord = new Discord([ 'intents' => Intents::getDefaultIntents() | Intents::GUILD_VOICE_STATES | Intents::MESSAGE_CONTENT, ]); -// Check ffmpeg -$ffmpegPath = shell_exec("command -v ffmpeg"); -if (!$ffmpegPath) { - echo "Warning: ffmpeg not found in PATH. Voice functionality might fail.\n"; - logToDb("Warning: ffmpeg not found in PATH.", 'warning'); -} else { - echo "ffmpeg found at: " . trim($ffmpegPath) . "\n"; -} - $voiceClient = null; -$queue = []; -$currentTrack = null; -$isJoining = false; +$ffmpegPath = trim((string)shell_exec("command -v ffmpeg")); function logToDb($message, $level = 'info') { - $db = db(); - $stmt = $db->prepare("INSERT INTO bot_logs (message, log_level) VALUES (?, ?)"); - $stmt->execute([$message, $level]); + try { + $db = db(); + $stmt = $db->prepare("INSERT INTO bot_logs (message, log_level) VALUES (?, ?)"); + $stmt->execute([$message, $level]); + } catch (Exception $e) { + echo "Log failed: " . $e->getMessage() . "\n"; + } } -$discord->on('ready', function (Discord $discord) use (&$voiceClient, $vcId) { - echo "Bot is ready!", PHP_EOL; - logToDb("Bot is online and ready."); +$discord->on('ready', function (Discord $discord) { + echo "Bot is ready as " . $discord->user->username . "#" . $discord->user->discriminator . PHP_EOL; + logToDb("Bot is online and ready: " . $discord->user->username); - // Update status in DB $db = db(); - $db->prepare("UPDATE bot_settings SET setting_value = 'online' WHERE setting_key = 'bot_status'")->execute(); + $db->prepare("INSERT INTO bot_settings (setting_key, setting_value) VALUES ('bot_status', 'online') ON DUPLICATE KEY UPDATE setting_value = 'online'")->execute(); - // Schedule Sahur and Alarms + // Periodic timer for Sahur and Alarms $discord->getLoop()->addPeriodicTimer(60, function () use ($discord) { $now = date('H:i'); $db = db(); - // Refresh settings $settings = $db->query("SELECT setting_key, setting_value FROM bot_settings")->fetchAll(PDO::FETCH_KEY_PAIR); $sahurTime = $settings['sahur_time'] ?? '03:00'; $vcId = $settings['voice_channel_id'] ?? '1457687430189682781'; if ($now === $sahurTime) { - echo "Sahur time ($now)! Playing audio...\n"; - logToDb("Sahur time triggered. Playing audio."); - playSahur($discord, $vcId, true); + echo "Sahur time triggered ($now)\n"; + logToDb("Sahur time triggered."); + playSahur($discord, $vcId); } - // Check individual alarms $stmt = $db->prepare("SELECT * FROM bot_alarms WHERE alarm_time LIKE ? AND is_active = 1"); $stmt->execute([$now . '%']); $alarms = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($alarms as $alarm) { echo "Alarm triggered for user {$alarm['user_id']} at {$alarm['alarm_time']}\n"; - logToDb("Alarm triggered for user {$alarm['user_id']} at {$alarm['alarm_time']}"); + logToDb("Alarm triggered for user {$alarm['user_id']}"); playAlarm($discord, $alarm); } }); - // Register Slash Commands - $discord->getLoop()->addTimer(2, function() use ($discord) { - echo "Registering slash commands...\n"; - registerCommands($discord); - }); + // Register Commands + registerCommands($discord); }); function registerCommands(Discord $discord) { $commands = [ - CommandBuilder::new() - ->setName('join') - ->setDescription('Join your current voice channel'), - CommandBuilder::new() - ->setName('out') - ->setDescription('Leave the voice channel'), - CommandBuilder::new() - ->setName('status') - ->setDescription('Check bot status'), - CommandBuilder::new() - ->setName('play') - ->setDescription('Play music from URL') - ->addOption((new Option($discord)) - ->setName('url') - ->setDescription('YouTube/SoundCloud URL') - ->setType(Option::STRING) - ->setRequired(true)), - CommandBuilder::new() - ->setName('stop') - ->setDescription('Stop music'), - CommandBuilder::new() - ->setName('settime') - ->setDescription('Set your personal alarm time (HH:MM)') - ->addOption((new Option($discord)) - ->setName('time') - ->setDescription('Time in HH:MM format') - ->setType(Option::STRING) - ->setRequired(true)), - CommandBuilder::new() - ->setName('setalarm') - ->setDescription('Set your personal alarm audio link') - ->addOption((new Option($discord)) - ->setName('link') - ->setDescription('YouTube or TikTok link for the alarm') - ->setType(Option::STRING) - ->setRequired(true)), - CommandBuilder::new() - ->setName('help') - ->setDescription('Show help information'), + CommandBuilder::new()->setName('join')->setDescription('Join your current voice channel'), + CommandBuilder::new()->setName('out')->setDescription('Leave the voice channel'), + CommandBuilder::new()->setName('status')->setDescription('Check bot status'), + CommandBuilder::new()->setName('play')->setDescription('Play music from URL') + ->addOption((new Option($discord))->setName('url')->setDescription('YouTube/TikTok/SoundCloud URL')->setType(Option::STRING)->setRequired(true)), + CommandBuilder::new()->setName('stop')->setDescription('Stop music'), + CommandBuilder::new()->setName('settime')->setDescription('Set your personal alarm time (HH:MM)') + ->addOption((new Option($discord))->setName('time')->setDescription('Time in HH:MM format')->setType(Option::STRING)->setRequired(true)), + CommandBuilder::new()->setName('setalarm')->setDescription('Set your personal alarm audio link') + ->addOption((new Option($discord))->setName('link')->setDescription('Audio URL for the alarm')->setType(Option::STRING)->setRequired(true)), + CommandBuilder::new()->setName('help')->setDescription('Show help information'), ]; foreach ($commands as $command) { - $discord->application->commands->save( - $discord->application->commands->create($command->toArray()) - ); + $discord->application->commands->save($discord->application->commands->create($command->toArray())); } } -function joinVoiceChannel(Discord $discord, $channelId, $interaction = null) { - global $voiceClient, $isJoining; +function streamAudio(VoiceClient $vc, string $url, $interaction = null) { + global $discord; + echo "Streaming audio: $url\n"; + if ($interaction) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("🎶 Loading audio info from link...")); + } + + $safeUrl = escapeshellarg($url); + $process = new Process("yt-dlp --no-warnings --no-check-certificates --print \"%(title)s\" --print \"%(url)s\" -f \"ba/b\" --no-playlist --js-runtimes node $safeUrl"); - if ($isJoining) return; - - $existingVc = $discord->getVoiceClient($discord->guilds->first()->id ?? ''); - if ($existingVc) { - $voiceClient = $existingVc; + try { + $process->start($discord->getLoop()); + } catch (\Exception $e) { + echo "Failed to start yt-dlp process: " . $e->getMessage() . "\n"; + if ($interaction) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("❌ Failed to start audio downloader.")); + } return; } - $channel = $discord->getChannel($channelId); - if (!$channel) { - foreach ($discord->guilds as $guild) { - $channel = $guild->channels->get('id', $channelId); - if ($channel) break; + $timer = $discord->getLoop()->addTimer(60.0, function() use ($process, $interaction) { + if ($process->isRunning()) { + echo "yt-dlp process timed out after 60s\n"; + $process->terminate(SIGKILL); + if ($interaction) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("❌ Audio loading timed out (60s).")); + } } - } + }); - if ($channel instanceof Channel && $channel->type === Channel::TYPE_VOICE) { - $isJoining = true; - $discord->joinVoiceChannel($channel)->then(function (VoiceClient $vc) use (&$voiceClient, &$isJoining) { - $voiceClient = $vc; - $isJoining = false; - echo "Joined voice channel.\n"; - }, function ($e) use (&$isJoining) { - $isJoining = false; - echo "Join failed: " . $e->getMessage() . "\n"; - }); - } + $output = ''; + $errorOutput = ''; + + $process->stdout->on('data', function ($chunk) use (&$output) { + $output .= $chunk; + }); + + $process->stderr->on('data', function ($chunk) use (&$errorOutput) { + $errorOutput .= $chunk; + }); + + $process->on('exit', function ($code) use (&$output, &$errorOutput, $vc, $interaction, $url, $discord, $timer) { + $discord->getLoop()->cancelTimer($timer); + + $lines = array_values(array_filter(explode("\n", trim($output)), function($line) { + return !empty(trim($line)) && strpos($line, 'WARNING:') !== 0; + })); + + if ($code === 0 && count($lines) >= 2) { + $title = $lines[0]; + $streamUrl = $lines[count($lines) - 1]; // Take the last line as URL, in case there are other prints + echo "Title: $title, Stream URL found: $streamUrl\n"; + if ($interaction) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("🎶 **Now Playing:** $title")); + } + + $playFunc = function () use ($vc, $streamUrl, $title, $interaction) { + $isReady = method_exists($vc, 'isReady') ? $vc->isReady() : $vc->ready; + echo "Attempting to play $title. VC Ready: " . ($isReady ? 'Yes' : 'No') . "\n"; + + if (!$isReady) { + echo "Voice client not ready yet for $title, waiting for ready event...\n"; + $vc->once('ready', function() use ($vc, $streamUrl, $title, $interaction) { + echo "Voice client finally ready for $title, playing now.\n"; + $vc->playFile($streamUrl); + }); + return; + } + + $vc->playFile($streamUrl)->then(function() use ($title) { + echo "Finished playing $title\n"; + }, function($e) use ($vc, $streamUrl, $title, $interaction) { + echo "Error playing $title: " . $e->getMessage() . "\n"; + logToDb("Error playing $title: " . $e->getMessage(), 'error'); + + if (strpos($e->getMessage(), 'not ready') !== false) { + echo "Retrying $title in 2 seconds due to 'not ready' error...\n"; + global $discord; + $discord->getLoop()->addTimer(2.0, function() use ($vc, $streamUrl, $title, $interaction) { + $vc->playFile($streamUrl); + }); + return; + } + + if ($interaction) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("❌ Error playing: $title. " . $e->getMessage())); + } + }); + }; + + $isReady = method_exists($vc, 'isReady') ? $vc->isReady() : $vc->ready; + if ($isReady) { + $playFunc(); + } else { + echo "Voice client not ready yet for $title (initial check), waiting for ready event...\n"; + $vc->once('ready', $playFunc); + + // Safety timeout: if not ready in 15s, fail + global $discord; + $discord->getLoop()->addTimer(15.0, function () use ($vc, $interaction, $title, $playFunc) { + $isReady = method_exists($vc, 'isReady') ? $vc->isReady() : $vc->ready; + if (!$isReady) { + $vc->removeListener('ready', $playFunc); + echo "Timed out waiting for voice client to be ready for $title\n"; + if ($interaction) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("❌ Error: Voice client timed out waiting to be ready.")); + } + } + }); + } + } else { + echo "Failed to fetch stream URL for $url. Code: $code\nError Output: $errorOutput\n"; + if ($interaction) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("❌ Failed to fetch audio. Make sure the link is valid. (Code $code)")); + } + } + }); } -function playSahur(Discord $discord, $vcId, $retry = true) { - global $voiceClient; - $existingVc = $discord->getVoiceClient($discord->guilds->first()->id ?? ''); - if ($existingVc) $voiceClient = $existingVc; +function playSahur(Discord $discord, $vcId) { + $channel = $discord->getChannel($vcId); + if (!$channel) return; - if (!$voiceClient) { - joinVoiceChannel($discord, $vcId); - if ($retry) { - $discord->getLoop()->addTimer(5, function() use ($discord, $vcId) { - playSahur($discord, $vcId, false); - }); + $discord->joinVoiceChannel($channel)->then(function (VoiceClient $vc) { + $db = db(); + $source = $db->query("SELECT setting_value FROM bot_settings WHERE setting_key = 'sahur_source'")->fetchColumn() ?: 'sahur.mp3'; + if (filter_var($source, FILTER_VALIDATE_URL)) { + streamAudio($vc, $source); + } else if (file_exists($source)) { + if ($vc->ready) { + $vc->playFile($source); + } else { + $vc->once('ready', function () use ($vc, $source) { + $vc->playFile($source); + }); + } } - return; - } - - $db = db(); - $source = $db->query("SELECT setting_value FROM bot_settings WHERE setting_key = 'sahur_source'")->fetchColumn() ?: 'sahur.mp3'; - - if (filter_var($source, FILTER_VALIDATE_URL)) { - $cmd = "yt-dlp -g -f bestaudio \"$source\""; - exec($cmd, $output, $res); - if ($res === 0 && !empty($output[0])) $voiceClient->playRawStream($output[0]); - } else if (file_exists($source)) { - $voiceClient->playFile($source); - } + }); } function playAlarm(Discord $discord, $alarm) { - $channelId = $alarm['channel_id']; - $url = $alarm['audio_url']; + $channel = $discord->getChannel($alarm['channel_id']); + if (!$channel) return; - $vc = $discord->getVoiceClient($alarm['guild_id']); - if ($vc && $vc->channel->id === $channelId) { - streamAudio($vc, $url); - } else { - if ($vc) $vc->close(); - $channel = $discord->getChannel($channelId); - if ($channel) { - $discord->joinVoiceChannel($channel)->then(function (VoiceClient $newVc) use ($url) { - streamAudio($newVc, $url); - }); - } - } + $discord->joinVoiceChannel($channel)->then(function (VoiceClient $vc) use ($alarm) { + streamAudio($vc, $alarm['audio_url']); + }); } -function streamAudio($vc, $url) { - $cmd = "yt-dlp -g -f bestaudio \"$url\""; - exec($cmd, $output, $res); - if ($res === 0 && !empty($output[0])) { - $vc->playRawStream($output[0]); - } -} - -$discord->on(Event::INTERACTION_CREATE, function (Interaction $interaction, Discord $discord) use (&$voiceClient, $vcId) { +$discord->on(Event::INTERACTION_CREATE, function (Interaction $interaction, Discord $discord) use (&$voiceClient) { if ($interaction->type !== 2) return; $command = $interaction->data->name; - $db = db(); + logToDb("Received interaction: $command from " . $interaction->member->user->username); switch ($command) { case 'help': $interaction->respondWithMessage(MessageBuilder::new()->setContent( - "**Bot Commands:**\n" . + "**AsepSahur Bot Commands:**\n" . "`/join` - Join your voice channel\n" . - "`/play [url]` - Play music\n" . - "`/stop` - Stop music\n" . - "`/settime [HH:MM]` - Set alarm time\n" . - "`/setalarm [link]` - Set alarm music\n" . - "`/status` - Check bot status" + "`/play [url]` - Play music from URL\n" . + "`/stop` - Stop current playback\n" . + "`/settime [HH:MM]` - Set your alarm time\n" . + "`/setalarm [url]` - Set your alarm audio\n" . + "`/status` - Check bot status\n" . + "`/out` - Make bot leave voice channel" )); break; + case 'status': + $vc = $discord->getVoiceClient($interaction->guild_id); + $status = "Bot is online. " . ($vc ? "Connected to " . $vc->channel->name : "Not in voice channel."); + $interaction->respondWithMessage(MessageBuilder::new()->setContent($status)); + break; + case 'join': - $interaction->acknowledge(); $userChannel = $interaction->member->getVoiceChannel(); - if ($userChannel) { - joinVoiceChannel($discord, $userChannel->id); - $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Joined " . $userChannel->name)); + if (!$userChannel) { + $interaction->respondWithMessage(MessageBuilder::new()->setContent("You must be in a voice channel!")); + return; + } + $interaction->acknowledge(); + $discord->joinVoiceChannel($userChannel)->then(function (VoiceClient $vc) use ($interaction, $userChannel) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Joined " . $vc->channel->name)); + $vc->on('close', function() use ($userChannel) { + echo "Voice client closed for channel " . $userChannel->name . "\n"; + logToDb("Voice client closed for channel " . $userChannel->name); + }); + $vc->on('error', function($e) use ($userChannel) { + echo "Voice client error in channel " . $userChannel->name . ": " . $e->getMessage() . "\n"; + logToDb("Voice client error in channel " . $userChannel->name . ": " . $e->getMessage(), 'error'); + }); + }, function ($e) use ($interaction) { + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Failed to join: " . $e->getMessage())); + }); + break; + + case 'out': + $vc = $discord->getVoiceClient($interaction->guild_id); + if ($vc) { + $vc->close(); + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Left voice channel.")); } else { - $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Join a voice channel first!")); + $interaction->respondWithMessage(MessageBuilder::new()->setContent("I'm not in a voice channel.")); } break; case 'play': $url = $interaction->data->options['url']->value; - handlePlay($interaction, $discord, $url); + $userChannel = $interaction->member->getVoiceChannel(); + if (!$userChannel) { + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Join a VC first!")); + return; + } + + $interaction->acknowledge(); + + $vc = $discord->getVoiceClient($interaction->guild_id); + + if ($vc && $vc->channel->id === $userChannel->id) { + echo "Already in correct channel. Checking readiness...\n"; + streamAudio($vc, $url, $interaction); + } else { + if ($vc) { + echo "Voice client in wrong channel or state, closing...\n"; + $vc->close(); + } + + echo "Joining channel: " . $userChannel->name . "\n"; + // Small delay if we just closed + $delay = $vc ? 0.8 : 0.1; + $discord->getLoop()->addTimer($delay, function() use ($discord, $userChannel, $interaction, $url) { + $discord->joinVoiceChannel($userChannel)->then(function (VoiceClient $vc) use ($interaction, $url, $userChannel) { + echo "Joined voice channel, now streaming...\n"; + $vc->on('close', function() use ($userChannel) { + echo "Voice client closed for channel " . $userChannel->name . "\n"; + logToDb("Voice client closed for channel " . $userChannel->name); + }); + $vc->on('error', function($e) use ($userChannel) { + echo "Voice client error in channel " . $userChannel->name . ": " . $e->getMessage() . "\n"; + logToDb("Voice client error in channel " . $userChannel->name . ": " . $e->getMessage(), 'error'); + }); + streamAudio($vc, $url, $interaction); + }, function ($e) use ($interaction) { + echo "Error joining VC: " . $e->getMessage() . "\n"; + $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("❌ Error joining voice channel: " . $e->getMessage())); + }); + }); + } break; case 'stop': - if ($voiceClient) $voiceClient->stop(); - $interaction->respondWithMessage(MessageBuilder::new()->setContent("Stopped.")); + $vc = $discord->getVoiceClient($interaction->guild_id); + if ($vc) { + $vc->stop(); + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Stopped playback.")); + } else { + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Nothing is playing.")); + } break; case 'settime': $time = $interaction->data->options['time']->value; if (!preg_match('/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/', $time)) { - $interaction->respondWithMessage(MessageBuilder::new()->setContent("Format: HH:MM")); - break; + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Invalid format. Use HH:MM (e.g. 03:00)")); + return; } $userId = (string)$interaction->member->id; $guildId = (string)$interaction->guild_id; - $channelId = (string)($interaction->member->getVoiceChannel()->id ?? $vcId); + $channelId = (string)($interaction->member->getVoiceChannel()->id ?? ''); + if (empty($channelId)) { + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Please join a voice channel first so I know where to wake you up!")); + return; + } + + $db = db(); $stmt = $db->prepare("INSERT INTO bot_alarms (user_id, guild_id, channel_id, alarm_time, audio_url) VALUES (?, ?, ?, ?, 'sahur.mp3') ON DUPLICATE KEY UPDATE alarm_time = ?, guild_id = ?, channel_id = ?"); $stmt->execute([$userId, $guildId, $channelId, $time, $time, $guildId, $channelId]); - $interaction->respondWithMessage(MessageBuilder::new()->setContent("Alarm time set to $time.")); + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Alarm time set to $time. I will join " . $interaction->member->getVoiceChannel()->name . " at that time.")); break; case 'setalarm': $link = $interaction->data->options['link']->value; $userId = (string)$interaction->member->id; $guildId = (string)$interaction->guild_id; - $channelId = (string)($interaction->member->getVoiceChannel()->id ?? $vcId); + $channelId = (string)($interaction->member->getVoiceChannel()->id ?? ''); + if (empty($channelId)) { + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Please join a voice channel first!")); + return; + } + + $db = db(); $stmt = $db->prepare("INSERT INTO bot_alarms (user_id, guild_id, channel_id, alarm_time, audio_url) VALUES (?, ?, ?, '03:00', ?) ON DUPLICATE KEY UPDATE audio_url = ?, guild_id = ?, channel_id = ?"); $stmt->execute([$userId, $guildId, $channelId, $link, $link, $guildId, $channelId]); - $interaction->respondWithMessage(MessageBuilder::new()->setContent("Alarm music set.")); - break; - - case 'status': - $interaction->respondWithMessage(MessageBuilder::new()->setContent("Bot is online. Voice: " . ($voiceClient ? "Connected" : "Disconnected"))); - break; - - case 'out': - if ($voiceClient) { - $voiceClient->close(); - $voiceClient = null; - $interaction->respondWithMessage(MessageBuilder::new()->setContent("Left voice channel.")); - } else { - $interaction->respondWithMessage(MessageBuilder::new()->setContent("Not in a channel.")); - } + $interaction->respondWithMessage(MessageBuilder::new()->setContent("Alarm audio set.")); break; } }); -function handlePlay(Interaction $interaction, Discord $discord, string $url) { - global $voiceClient; - $interaction->acknowledge(); - - $guildId = $interaction->guild_id; - $vc = $discord->getVoiceClient($guildId); - if ($vc) $voiceClient = $vc; - - if (!$voiceClient) { - $userChannel = $interaction->member->getVoiceChannel(); - if ($userChannel) { - $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Joining " . $userChannel->name . "...")); - $discord->joinVoiceChannel($userChannel)->then(function (VoiceClient $newVc) use ($interaction, $url) { - global $voiceClient; - $voiceClient = $newVc; - processPlay($interaction, $newVc, $url); - }); - } else { - $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Join a VC first!")); - } - return; - } - - processPlay($interaction, $voiceClient, $url); -} - -function processPlay($interaction, $vc, $url) { - $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Loading: $url ...")); - $cmd = "yt-dlp -g -f bestaudio \"$url\""; - exec($cmd, $output, $res); - - if ($res === 0 && !empty($output[0])) { - $vc->playRawStream($output[0]); - $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Now playing: $url")); - } else { - $interaction->updateOriginalResponse(MessageBuilder::new()->setContent("Error fetching audio.")); - } -} - $discord->run(); diff --git a/bot.pid b/bot.pid index 8e5b4e0..8f9923f 100644 --- a/bot.pid +++ b/bot.pid @@ -1 +1 @@ -32421 +41306 \ No newline at end of file diff --git a/bot_output.log b/bot_output.log index 60a0b29..783d81a 100644 --- a/bot_output.log +++ b/bot_output.log @@ -1,518 +1,208 @@ -[2026-02-14T18:18:28.873595+00:00] DiscordPHP.DEBUG: Initializing DiscordPHP v10.46.0 (DiscordPHP-Http: v10.8.0 & Gateway: v10) on PHP 8.2.29 -[2026-02-14T18:18:29.134756+00:00] DiscordPHP.DEBUG: BUCKET getapplications/@me queued REQ GET applications/@me -[2026-02-14T18:18:29.370852+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:18:29.641061+00:00] DiscordPHP.DEBUG: BUCKET getgateway/bot queued REQ GET gateway/bot -[2026-02-14T18:18:29.864485+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":1,"empty":true} -ffmpeg found at: /usr/bin/ffmpeg -[2026-02-14T18:18:32.368291+00:00] DiscordPHP.DEBUG: REQ GET applications/@me successful -[2026-02-14T18:18:32.371176+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":1,"empty":true} -[2026-02-14T18:18:32.614366+00:00] DiscordPHP.DEBUG: REQ GET gateway/bot successful -[2026-02-14T18:18:32.614455+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:18:32.616541+00:00] DiscordPHP.INFO: gateway retrieved and set {"gateway":"wss://gateway.discord.gg/?v=10&encoding=json&compress=zlib-stream","session":{"total":1000,"remaining":991,"reset_after":83394314,"max_concurrency":1}} -[2026-02-14T18:18:32.616644+00:00] DiscordPHP.DEBUG: session data received {"session":{"total":1000,"remaining":991,"reset_after":83394314,"max_concurrency":1}} -[2026-02-14T18:18:32.616677+00:00] DiscordPHP.INFO: starting connection to websocket {"gateway":"wss://gateway.discord.gg/?v=10&encoding=json&compress=zlib-stream"} -[2026-02-14T18:18:34.122753+00:00] DiscordPHP.INFO: websocket connection has been created -[2026-02-14T18:18:34.124585+00:00] DiscordPHP.INFO: received hello -[2026-02-14T18:18:34.124745+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":null} -[2026-02-14T18:18:34.126296+00:00] DiscordPHP.INFO: heartbeat timer initialized {"interval":41250.0} -[2026-02-14T18:18:34.126634+00:00] DiscordPHP.INFO: identifying {"payload":{"op":2,"d":{"token":"*****","properties":{"os":"Linux","browser":"DiscordBot (https://github.com/discord-php/DiscordPHP-HTTP, v10.8.0)","device":"DiscordBot (https://github.com/discord-php/DiscordPHP-HTTP, v10.8.0)","referrer":"https://github.com/discord-php/DiscordPHP","referring_domain":"https://github.com/discord-php/DiscordPHP"},"compress":true,"intents":53608189}}} -[2026-02-14T18:18:34.363531+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":237.23602294921875} -[2026-02-14T18:18:34.363988+00:00] DiscordPHP.DEBUG: ready packet received -[2026-02-14T18:18:34.364069+00:00] DiscordPHP.DEBUG: resume_gateway_url received {"url":"wss://gateway-us-east1-d.discord.gg"} -[2026-02-14T18:18:34.364117+00:00] DiscordPHP.DEBUG: discord trace received {"trace":["[\"gateway-prd-arm-us-east1-d-n4x9\",{\"micros\":96362,\"calls\":[\"id_created\",{\"micros\":411,\"calls\":[]},\"session_lookup_time\",{\"micros\":248,\"calls\":[]},\"session_lookup_finished\",{\"micros\":10,\"calls\":[]},\"discord-sessions-prd-2-165\",{\"micros\":95394,\"calls\":[\"start_session\",{\"micros\":85401,\"calls\":[\"discord-api-rpc-66c79f4bd4-lvm2k\",{\"micros\":40247,\"calls\":[\"get_user\",{\"micros\":8421},\"get_guilds\",{\"micros\":14756},\"send_scheduled_deletion_message\",{\"micros\":15},\"guild_join_requests\",{\"micros\":2},\"authorized_ip_coro\",{\"micros\":10},\"pending_payments\",{\"micros\":1152},\"apex_experiments\",{\"micros\":37295},\"sessions_experiments\",{\"micros\":7},\"user_activities\",{\"micros\":5},\"played_application_ids\",{\"micros\":4},\"linked_users\",{\"micros\":4},\"ad_personalization_toggles_disabled\",{\"micros\":3},\"regional_feature_config\",{\"micros\":4}]}]},\"starting_guild_connect\",{\"micros\":31,\"calls\":[]},\"presence_started\",{\"micros\":423,\"calls\":[]},\"guilds_started\",{\"micros\":62,\"calls\":[]},\"lobbies_started\",{\"micros\":1,\"calls\":[]},\"guilds_connect\",{\"micros\":1,\"calls\":[]},\"presence_connect\",{\"micros\":9410,\"calls\":[]},\"connect_finished\",{\"micros\":9424,\"calls\":[]},\"build_ready\",{\"micros\":10,\"calls\":[]},\"clean_ready\",{\"micros\":41,\"calls\":[]},\"optimize_ready\",{\"micros\":0,\"calls\":[]},\"split_ready\",{\"micros\":0,\"calls\":[]}]}]}]"]} -[2026-02-14T18:18:34.367062+00:00] DiscordPHP.DEBUG: client created and session id stored {"session_id":"325c4d95cfccc3253dbc549d0e877ebe","user":{"id":"1471909193886859294","username":"AsepSahur","discriminator":"6954","global_name":null,"avatar":"https://cdn.discordapp.com/avatars/1471909193886859294/8a88b0710fa41f7eef469c3dedc30e27.webp?size=1024","bot":true,"system":null,"mfa_enabled":false,"banner":null,"accent_color":null,"locale":null,"verified":true,"email":null,"flags":0,"premium_type":null,"public_flags":null,"avatar_decoration_data":null,"collectibles":null,"primary_guild":null}} -[2026-02-14T18:18:34.371984+00:00] DiscordPHP.INFO: stored guilds {"count":0,"unavailable":1} -[2026-02-14T18:18:34.640865+00:00] DiscordPHP.DEBUG: guild available {"guild":"1428530728706117632","unavailable":1} -[2026-02-14T18:18:34.641017+00:00] DiscordPHP.INFO: all guilds are now available {"count":1} -[2026-02-14T18:18:34.641056+00:00] DiscordPHP.INFO: loadAllMembers option is disabled, not setting chunking up -[2026-02-14T18:18:34.643180+00:00] DiscordPHP.INFO: voice class initialized -[2026-02-14T18:18:34.643278+00:00] DiscordPHP.INFO: client is ready -[2026-02-14T18:18:34.643325+00:00] DiscordPHP.INFO: The 'ready' event is deprecated and will be removed in a future version of DiscordPHP. Please use 'init' instead. -Bot is ready! -Registering slash commands... -[2026-02-14T18:18:37.133813+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.133940+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:18:37.134620+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.134751+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.134850+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.134941+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.135141+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.135266+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.135384+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.135546+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.135705+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.135880+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -[2026-02-14T18:18:37.135991+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands -Commands registration requests sent. -Bot is in 1 guilds. - - Guild: LAST XPERIENCE STUDIO (1428530728706117632) -[2026-02-14T18:18:38.613917+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:18:38.614018+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:18:38.614081+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:18:38.866514+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:18:38.866660+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:18:38.866762+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:18:39.116413+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:18:39.116525+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:18:39.116614+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:18:39.363595+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:18:39.363720+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:18:39.363860+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:18:39.614458+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:18:39.614574+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:18:39.614668+00:00] DiscordPHP.INFO: BUCKET postapplications/:application_id/commands expecting rate limit, timer interval 19019 ms -[2026-02-14T18:18:58.868111+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:19:02.613795+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:19:02.613997+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:19:02.614131+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:19:02.865391+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:19:02.865499+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:19:02.865603+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:19:03.113218+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:19:03.113336+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:19:03.113422+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:19:03.613865+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:19:03.614209+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:19:03.614311+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:19:03.863369+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:19:03.863473+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:19:03.863548+00:00] DiscordPHP.INFO: BUCKET postapplications/:application_id/commands expecting rate limit, timer interval 18709 ms -[2026-02-14T18:19:15.387641+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":2} -[2026-02-14T18:19:15.613575+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":225.69799423217773} -[2026-02-14T18:19:22.613031+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:19:25.363708+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:19:25.363838+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:19:25.363925+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:19:25.864994+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful -[2026-02-14T18:19:25.865132+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:19:34.123197+00:00] DiscordPHP.DEBUG: resetting payload count {"count":3} -[2026-02-14T18:19:56.907961+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":5} -[2026-02-14T18:19:56.949824+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":41.563987731933594} -Received interaction: join from user rio.xmc -[2026-02-14T18:20:17.211442+00:00] DiscordPHP.DEBUG: BUCKET postinteractions/:interaction_id/:interaction_token/callback queued REQ POST interactions/1472296405988147443/aW50ZXJhY3Rpb246MTQ3MjI5NjQwNTk4ODE0NzQ0MzpvUzBQSDBDQnZwaUNya09FN29sWVR0MFlhR1dFN0Z6d0JSYW5JRXdVRDNJRVJ3cmlRMHlMaFBLdktMQkFPSk1NYnNNdzc5d2lRSkJTb1BoYnFqSVVXbTVzOEt4MU9oTU9pUVNhdmZIZUpRUkxVVGtXNXFJTWVpQWZJZzljTWdHTg/callback -[2026-02-14T18:20:17.211576+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -User is in channel: Staff voice -[2026-02-14T18:20:17.218584+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjQwNTk4ODE0NzQ0MzpvUzBQSDBDQnZwaUNya09FN29sWVR0MFlhR1dFN0Z6d0JSYW5JRXdVRDNJRVJ3cmlRMHlMaFBLdktMQkFPSk1NYnNNdzc5d2lRSkJTb1BoYnFqSVVXbTVzOEt4MU9oTU9pUVNhdmZIZUpRUkxVVGtXNXFJTWVpQWZJZzljTWdHTg/messages/@original -[2026-02-14T18:20:17.218703+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":1,"empty":true} -[2026-02-14T18:20:17.399376+00:00] DiscordPHP.INFO: received session id for voice session {"guild":"1428530728706117632","session_id":"325c4d95cfccc3253dbc549d0e877ebe"} -[2026-02-14T18:20:17.582141+00:00] DiscordPHP.INFO: received token and endpoint for voice session {"guild":"1428530728706117632","token":"*****","endpoint":"c-fra20-5f509e9b.discord.media:2083"} -[2026-02-14T18:20:17.586029+00:00] DiscordPHP.DEBUG: Creating new voice websocket {"endpoint":"c-fra20-5f509e9b.discord.media:2083"} -[2026-02-14T18:20:17.964767+00:00] DiscordPHP.DEBUG: REQ POST interactions/1472296405988147443/aW50ZXJhY3Rpb246MTQ3MjI5NjQwNTk4ODE0NzQ0MzpvUzBQSDBDQnZwaUNya09FN29sWVR0MFlhR1dFN0Z6d0JSYW5JRXdVRDNJRVJ3cmlRMHlMaFBLdktMQkFPSk1NYnNNdzc5d2lRSkJTb1BoYnFqSVVXbTVzOEt4MU9oTU9pUVNhdmZIZUpRUkxVVGtXNXFJTWVpQWZJZzljTWdHTg/callback successful -[2026-02-14T18:20:17.964911+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":1,"empty":true} -[2026-02-14T18:20:18.185420+00:00] DiscordPHP.DEBUG: connected to voice websocket -[2026-02-14T18:20:18.187699+00:00] DiscordPHP.DEBUG: sending identify {"packet":{"op":0,"d":{"server_id":"1428530728706117632","user_id":"1471909193886859294","token":"*****","max_dave_protocol_version":0,"session_id":"325c4d95cfccc3253dbc549d0e877ebe"}}} -[2026-02-14T18:20:18.198466+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:18.257534+00:00] DiscordPHP.DEBUG: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjQwNTk4ODE0NzQ0MzpvUzBQSDBDQnZwaUNya09FN29sWVR0MFlhR1dFN0Z6d0JSYW5JRXdVRDNJRVJ3cmlRMHlMaFBLdktMQkFPSk1NYnNNdzc5d2lRSkJTb1BoYnFqSVVXbTVzOEt4MU9oTU9pUVNhdmZIZUpRUkxVVGtXNXFJTWVpQWZJZzljTWdHTg/messages/@original successful -[2026-02-14T18:20:18.257707+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:20:18.343718+00:00] DiscordPHP.DEBUG: received voice ready packet {"data":{"streams":[{"type":"video","ssrc":2211,"rtx_ssrc":2212,"rid":"","quality":0,"active":false}],"ssrc":2210,"port":19314,"modes":["aead_aes256_gcm_rtpsize","aead_xchacha20_poly1305_rtpsize"],"ip":"104.29.147.190","experiments":["fixed_keyframe_interval"]}} -[2026-02-14T18:20:18.349002+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":348.97899627685547} -[2026-02-14T18:20:18.349213+00:00] DiscordPHP.DEBUG: received client connect packet {"data":{"Discord\\WebSockets\\Payload":{"op":11,"d":{"user_ids":["235088799074484224","830530156048285716","906246223504240641","923944350612848700","1414108278354608278"]}}}} -[2026-02-14T18:20:18.350759+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"235088799074484224","ssrc":228,"speaking":1}} -[2026-02-14T18:20:18.350994+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"830530156048285716","ssrc":243,"speaking":1}} -[2026-02-14T18:20:18.352080+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"235088799074484224","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:18.352421+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"830530156048285716","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:18.352531+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"906246223504240641","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:18.352599+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"923944350612848700","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:18.352666+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"1414108278354608278","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:18.431256+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"235088799074484224","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:18.431608+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"830530156048285716","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:18.431754+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"906246223504240641","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:18.431851+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"923944350612848700","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:18.431927+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"1414108278354608278","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:18.564335+00:00] DiscordPHP.DEBUG: received our IP and port {"ip":"34.16.53.23","port":2944} -[2026-02-14T18:20:18.688332+00:00] DiscordPHP.DEBUG: received description packet, vc ready {"data":{"video_codec":"H264","secure_frames_version":0,"secret_key":"*****","mode":"aead_aes256_gcm_rtpsize","media_session_id":"208aefde4d8f4e84527d8d3adce568cc","dave_protocol_version":0,"audio_codec":"opus"}} -[2026-02-14T18:20:18.688496+00:00] DiscordPHP.INFO: voice manager is ready -Joined voice channel: Staff voice -[2026-02-14T18:20:18.692522+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjQwNTk4ODE0NzQ0MzpvUzBQSDBDQnZwaUNya09FN29sWVR0MFlhR1dFN0Z6d0JSYW5JRXdVRDNJRVJ3cmlRMHlMaFBLdktMQkFPSk1NYnNNdzc5d2lRSkJTb1BoYnFqSVVXbTVzOEt4MU9oTU9pUVNhdmZIZUpRUkxVVGtXNXFJTWVpQWZJZzljTWdHTg/messages/@original -[2026-02-14T18:20:18.692733+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:20:18.693850+00:00] DiscordPHP.INFO: voice client is ready -[2026-02-14T18:20:18.694103+00:00] DiscordPHP.INFO: set voice client bitrate {"bitrate":64000} -[2026-02-14T18:20:18.695399+00:00] DiscordPHP.DEBUG: received any packet {"data":{"attributes":{"any":0},"created":true,"class":"Discord\\Voice\\Any"}} -[2026-02-14T18:20:18.744737+00:00] DiscordPHP.INFO: received session id for voice session {"guild":"1428530728706117632","session_id":"325c4d95cfccc3253dbc549d0e877ebe"} -[2026-02-14T18:20:18.852610+00:00] DiscordPHP.WARNING: voice websocket closed {"op":4014,"reason":"Disconnected."} -[2026-02-14T18:20:18.852802+00:00] DiscordPHP.WARNING: closing UDP client -[2026-02-14T18:20:18.853126+00:00] DiscordPHP.WARNING: received critical opcode - not reconnecting {"op":4014,"reason":"Disconnected."} -[2026-02-14T18:20:18.853444+00:00] DiscordPHP.WARNING: voice manager closed -[2026-02-14T18:20:18.853572+00:00] DiscordPHP.WARNING: voice client closed -[2026-02-14T18:20:19.071206+00:00] DiscordPHP.DEBUG: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjQwNTk4ODE0NzQ0MzpvUzBQSDBDQnZwaUNya09FN29sWVR0MFlhR1dFN0Z6d0JSYW5JRXdVRDNJRVJ3cmlRMHlMaFBLdktMQkFPSk1NYnNNdzc5d2lRSkJTb1BoYnFqSVVXbTVzOEt4MU9oTU9pUVNhdmZIZUpRUkxVVGtXNXFJTWVpQWZJZzljTWdHTg/messages/@original successful -[2026-02-14T18:20:19.071456+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -Received interaction: join from user rio.xmc -[2026-02-14T18:20:25.191288+00:00] DiscordPHP.DEBUG: BUCKET postinteractions/:interaction_id/:interaction_token/callback queued REQ POST interactions/1472296439559360817/aW50ZXJhY3Rpb246MTQ3MjI5NjQzOTU1OTM2MDgxNzpyaXhFUXlrcUJsc3p5MEFmTXRDOElKU1JHd2x1akpvNVNtbTRCSGVBeHU4UUVvNHJrMllFYm5pTFJrWWJPMFJaYU9pSHlFeWpTY3N1dGlLc1R6bE5Rb0I3WTlXd1FyM1g2b0VlTTIzZEo0SkttSGkxMlA2ZWYzU0FmbUQ0a3l1ZQ/callback -[2026-02-14T18:20:25.191443+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -User is in channel: Staff voice -[2026-02-14T18:20:25.192799+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjQzOTU1OTM2MDgxNzpyaXhFUXlrcUJsc3p5MEFmTXRDOElKU1JHd2x1akpvNVNtbTRCSGVBeHU4UUVvNHJrMllFYm5pTFJrWWJPMFJaYU9pSHlFeWpTY3N1dGlLc1R6bE5Rb0I3WTlXd1FyM1g2b0VlTTIzZEo0SkttSGkxMlA2ZWYzU0FmbUQ0a3l1ZQ/messages/@original -[2026-02-14T18:20:25.192946+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":1,"empty":true} -[2026-02-14T18:20:25.247671+00:00] DiscordPHP.INFO: received session id for voice session {"guild":"1428530728706117632","session_id":"325c4d95cfccc3253dbc549d0e877ebe"} -[2026-02-14T18:20:25.247857+00:00] DiscordPHP.INFO: received session id for voice session {"guild":"1428530728706117632","session_id":"325c4d95cfccc3253dbc549d0e877ebe"} -[2026-02-14T18:20:25.367464+00:00] DiscordPHP.INFO: received token and endpoint for voice session {"guild":"1428530728706117632","token":"*****","endpoint":"c-fra20-5f509e9b.discord.media:2083"} -[2026-02-14T18:20:25.370081+00:00] DiscordPHP.DEBUG: Creating new voice websocket {"endpoint":"c-fra20-5f509e9b.discord.media:2083"} -[2026-02-14T18:20:25.371256+00:00] DiscordPHP.INFO: received token and endpoint for voice session {"guild":"1428530728706117632","token":"*****","endpoint":"c-fra20-5f509e9b.discord.media:2083"} -[2026-02-14T18:20:25.373381+00:00] DiscordPHP.DEBUG: Creating new voice websocket {"endpoint":"c-fra20-5f509e9b.discord.media:2083"} -[2026-02-14T18:20:25.972545+00:00] DiscordPHP.DEBUG: connected to voice websocket -[2026-02-14T18:20:25.972855+00:00] DiscordPHP.DEBUG: sending identify {"packet":{"op":0,"d":{"server_id":"1428530728706117632","user_id":"1471909193886859294","token":"*****","max_dave_protocol_version":0,"session_id":"325c4d95cfccc3253dbc549d0e877ebe"}}} -[2026-02-14T18:20:25.973290+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:25.982194+00:00] DiscordPHP.DEBUG: connected to voice websocket -[2026-02-14T18:20:25.982463+00:00] DiscordPHP.DEBUG: sending identify {"packet":{"op":0,"d":{"server_id":"1428530728706117632","user_id":"1471909193886859294","token":"*****","max_dave_protocol_version":0,"session_id":"325c4d95cfccc3253dbc549d0e877ebe"}}} -[2026-02-14T18:20:25.982849+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:26.065919+00:00] DiscordPHP.DEBUG: REQ POST interactions/1472296439559360817/aW50ZXJhY3Rpb246MTQ3MjI5NjQzOTU1OTM2MDgxNzpyaXhFUXlrcUJsc3p5MEFmTXRDOElKU1JHd2x1akpvNVNtbTRCSGVBeHU4UUVvNHJrMllFYm5pTFJrWWJPMFJaYU9pSHlFeWpTY3N1dGlLc1R6bE5Rb0I3WTlXd1FyM1g2b0VlTTIzZEo0SkttSGkxMlA2ZWYzU0FmbUQ0a3l1ZQ/callback successful -[2026-02-14T18:20:26.066056+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":1,"empty":true} -[2026-02-14T18:20:26.100216+00:00] DiscordPHP.DEBUG: received voice ready packet {"data":{"streams":[{"type":"video","ssrc":2214,"rtx_ssrc":2215,"rid":"","quality":0,"active":false}],"ssrc":2213,"port":19314,"modes":["aead_aes256_gcm_rtpsize","aead_xchacha20_poly1305_rtpsize"],"ip":"104.29.147.190","experiments":["fixed_keyframe_interval"]}} -[2026-02-14T18:20:26.100708+00:00] DiscordPHP.DEBUG: received client connect packet {"data":{"Discord\\WebSockets\\Payload":{"op":11,"d":{"user_ids":["235088799074484224","830530156048285716","906246223504240641","923944350612848700","1414108278354608278"]}}}} -[2026-02-14T18:20:26.101040+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"235088799074484224","ssrc":228,"speaking":1}} -[2026-02-14T18:20:26.102799+00:00] DiscordPHP.DEBUG: received voice ready packet {"data":{"streams":[{"type":"video","ssrc":2217,"rtx_ssrc":2218,"rid":"","quality":0,"active":false}],"ssrc":2216,"port":19314,"modes":["aead_aes256_gcm_rtpsize","aead_xchacha20_poly1305_rtpsize"],"ip":"104.29.147.190","experiments":["fixed_keyframe_interval"]}} -[2026-02-14T18:20:26.103190+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":1103.1808853149414} -[2026-02-14T18:20:26.103295+00:00] DiscordPHP.DEBUG: received client connect packet {"data":{"Discord\\WebSockets\\Payload":{"op":11,"d":{"user_ids":["235088799074484224","830530156048285716","906246223504240641","923944350612848700","1414108278354608278"]}}}} -[2026-02-14T18:20:26.103502+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"235088799074484224","ssrc":228,"speaking":1}} -[2026-02-14T18:20:26.103609+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"830530156048285716","ssrc":243,"speaking":1}} -[2026-02-14T18:20:26.103955+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"830530156048285716","ssrc":243,"speaking":1}} -[2026-02-14T18:20:26.104294+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"235088799074484224","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.104446+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"830530156048285716","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.104533+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"906246223504240641","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.104603+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"923944350612848700","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.104672+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"1414108278354608278","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.104746+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"235088799074484224","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.105027+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"235088799074484224","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.105122+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"830530156048285716","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.105184+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"906246223504240641","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.105251+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"923944350612848700","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.105312+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"1414108278354608278","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} -[2026-02-14T18:20:26.105384+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"235088799074484224","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.204896+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"830530156048285716","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.205152+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"906246223504240641","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.205246+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"923944350612848700","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.205316+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"1414108278354608278","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.205530+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":1205.5211067199707} -[2026-02-14T18:20:26.205639+00:00] DiscordPHP.WARNING: voice websocket closed {"op":4006,"reason":"Session is no longer valid."} -[2026-02-14T18:20:26.205687+00:00] DiscordPHP.WARNING: closing UDP client -[2026-02-14T18:20:26.206206+00:00] DiscordPHP.WARNING: received critical opcode - not reconnecting {"op":4006,"reason":"Session is no longer valid."} -[2026-02-14T18:20:26.206331+00:00] DiscordPHP.DEBUG: sessions {"voice_sessions":{"1428530728706117632":null}} -[2026-02-14T18:20:26.209371+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"830530156048285716","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.209591+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"906246223504240641","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.209704+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"923944350612848700","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.209898+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"1414108278354608278","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} -[2026-02-14T18:20:26.317115+00:00] DiscordPHP.DEBUG: received our IP and port {"ip":"34.16.53.23","port":2945} -[2026-02-14T18:20:26.436783+00:00] DiscordPHP.DEBUG: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjQzOTU1OTM2MDgxNzpyaXhFUXlrcUJsc3p5MEFmTXRDOElKU1JHd2x1akpvNVNtbTRCSGVBeHU4UUVvNHJrMllFYm5pTFJrWWJPMFJaYU9pSHlFeWpTY3N1dGlLc1R6bE5Rb0I3WTlXd1FyM1g2b0VlTTIzZEo0SkttSGkxMlA2ZWYzU0FmbUQ0a3l1ZQ/messages/@original successful -[2026-02-14T18:20:26.436924+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:20:31.950043+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:34.125803+00:00] DiscordPHP.DEBUG: resetting payload count {"count":5} -[2026-02-14T18:20:38.164526+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":17} -[2026-02-14T18:20:38.226808+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":61.86103820800781} -Received interaction: status from user rio.xmc -[2026-02-14T18:20:38.619386+00:00] DiscordPHP.DEBUG: BUCKET postinteractions/:interaction_id/:interaction_token/callback queued REQ POST interactions/1472296495607972176/aW50ZXJhY3Rpb246MTQ3MjI5NjQ5NTYwNzk3MjE3Njp1VUNUbE1zaDM3SGtKaW9nNEJEc2tQUWNPY00wVUZFdDlLeDN5SENMZXFJNzVTeTM2aDRWZ1U3cXB6eFVQUHB6SktrczR1azFCNERzQVNFQjlENU5xYmNPaDdBQ0ZpamtpUW56RHFva3E1a3dxUVB5WDU2ZFVFZmVjU3ZOYzJpMQ/callback -[2026-02-14T18:20:38.619535+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -[2026-02-14T18:20:38.620234+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjQ5NTYwNzk3MjE3Njp1VUNUbE1zaDM3SGtKaW9nNEJEc2tQUWNPY00wVUZFdDlLeDN5SENMZXFJNzVTeTM2aDRWZ1U3cXB6eFVQUHB6SktrczR1azFCNERzQVNFQjlENU5xYmNPaDdBQ0ZpamtpUW56RHFva3E1a3dxUVB5WDU2ZFVFZmVjU3ZOYzJpMQ/messages/@original -[2026-02-14T18:20:38.620409+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":1,"empty":true} -[2026-02-14T18:20:39.024851+00:00] DiscordPHP.DEBUG: REQ POST interactions/1472296495607972176/aW50ZXJhY3Rpb246MTQ3MjI5NjQ5NTYwNzk3MjE3Njp1VUNUbE1zaDM3SGtKaW9nNEJEc2tQUWNPY00wVUZFdDlLeDN5SENMZXFJNzVTeTM2aDRWZ1U3cXB6eFVQUHB6SktrczR1azFCNERzQVNFQjlENU5xYmNPaDdBQ0ZpamtpUW56RHFva3E1a3dxUVB5WDU2ZFVFZmVjU3ZOYzJpMQ/callback successful -[2026-02-14T18:20:39.025019+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":1,"empty":true} -[2026-02-14T18:20:39.440590+00:00] DiscordPHP.DEBUG: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjQ5NTYwNzk3MjE3Njp1VUNUbE1zaDM3SGtKaW9nNEJEc2tQUWNPY00wVUZFdDlLeDN5SENMZXFJNzVTeTM2aDRWZ1U3cXB6eFVQUHB6SktrczR1azFCNERzQVNFQjlENU5xYmNPaDdBQ0ZpamtpUW56RHFva3E1a3dxUVB5WDU2ZFVFZmVjU3ZOYzJpMQ/messages/@original successful -[2026-02-14T18:20:39.440716+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -[2026-02-14T18:20:39.726404+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:39.733465+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:39.850856+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:20:39.857074+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":857.0559024810791} -[2026-02-14T18:20:45.705449+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:53.480219+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:53.484092+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:20:53.601146+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:20:53.602211+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":602.1790504455566} -[2026-02-14T18:20:59.459043+00:00] DiscordPHP.DEBUG: sending heartbeat -Received interaction: play from user rio.xmc -[2026-02-14T18:21:06.547407+00:00] DiscordPHP.DEBUG: BUCKET postinteractions/:interaction_id/:interaction_token/callback queued REQ POST interactions/1472296612964598033/aW50ZXJhY3Rpb246MTQ3MjI5NjYxMjk2NDU5ODAzMzpFVGcxVHdwUk91REVyQnZKbUpwNjNoY2pDVXV0SW1oa1didlZZaW55U0ZKclJZTm1LZkZweGcwUWgwUmJZTHdPemlMTkFEMmhLamZORURPSGl0VEtNQ1czMXRDNVdaQTdiT3NObkhTS0h3UTRGbkJJNWpvVDlSTkNPZnlaSGN4eg/callback -[2026-02-14T18:21:06.547571+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} -Unhandled promise rejection with RuntimeException: Voice Client is not ready. in /home/ubuntu/executor/workspace/vendor/discord-php-helpers/voice/src/Discord/Voice/VoiceClient.php:438 -Stack trace: -#0 /home/ubuntu/executor/workspace/bot.php(531): Discord\Voice\VoiceClient->playRawStream() -#1 /home/ubuntu/executor/workspace/bot.php(429): handlePlay() -#2 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): {closure}() -#3 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(913): Discord\Discord->emit() -#4 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): Discord\Discord->Discord\{closure}() -#5 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#6 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#7 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#8 /home/ubuntu/executor/workspace/vendor/react/promise/src/Deferred.php(45): React\Promise\Promise::React\Promise\{closure}() -#9 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Deferred->resolve() -#10 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(946): React\Promise\Internal\FulfilledPromise->then() -#11 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(794): Discord\Discord->handleDispatch() -#12 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(748): Discord\Discord->processWsMessage() -#13 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): Discord\Discord->handleWsMessage() -#14 /home/ubuntu/executor/workspace/vendor/ratchet/pawl/src/WebSocket.php(72): Ratchet\Client\WebSocket->emit() -#15 /home/ubuntu/executor/workspace/vendor/ratchet/rfc6455/src/Messaging/MessageBuffer.php(233): Ratchet\Client\WebSocket->Ratchet\Client\{closure}() -#16 /home/ubuntu/executor/workspace/vendor/ratchet/rfc6455/src/Messaging/MessageBuffer.php(179): Ratchet\RFC6455\Messaging\MessageBuffer->processData() -#17 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): Ratchet\RFC6455\Messaging\MessageBuffer->onData() -#18 /home/ubuntu/executor/workspace/vendor/react/stream/src/Util.php(71): Evenement\EventEmitter->emit() -#19 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Stream\Util::React\Stream\{closure}() -#20 /home/ubuntu/executor/workspace/vendor/react/stream/src/DuplexResourceStream.php(209): Evenement\EventEmitter->emit() -#21 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(246): React\Stream\DuplexResourceStream->handleData() -#22 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(213): React\EventLoop\StreamSelectLoop->waitForStreamActivity() -#23 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(1822): React\EventLoop\StreamSelectLoop->run() -#24 /home/ubuntu/executor/workspace/bot.php(540): Discord\Discord->run() -#25 {main} -[2026-02-14T18:21:18.634864+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjYxMjk2NDU5ODAzMzpFVGcxVHdwUk91REVyQnZKbUpwNjNoY2pDVXV0SW1oa1didlZZaW55U0ZKclJZTm1LZkZweGcwUWgwUmJZTHdPemlMTkFEMmhLamZORURPSGl0VEtNQ1czMXRDNVdaQTdiT3NObkhTS0h3UTRGbkJJNWpvVDlSTkNPZnlaSGN4eg/messages/@original -[2026-02-14T18:21:18.635003+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":1,"empty":true} -[2026-02-14T18:21:18.635661+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:18.635751+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:18.635811+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:21:18.635891+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:19.384438+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":1384.4199180603027} -[2026-02-14T18:21:19.612611+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":21} -[2026-02-14T18:21:19.656456+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":43.608903884887695} -[2026-02-14T18:21:19.729533+00:00] DiscordPHP.WARNING: REQ POST interactions/1472296612964598033/aW50ZXJhY3Rpb246MTQ3MjI5NjYxMjk2NDU5ODAzMzpFVGcxVHdwUk91REVyQnZKbUpwNjNoY2pDVXV0SW1oa1didlZZaW55U0ZKclJZTm1LZkZweGcwUWgwUmJZTHdPemlMTkFEMmhLamZORURPSGl0VEtNQ1czMXRDNVdaQTdiT3NObkhTS0h3UTRGbkJJNWpvVDlSTkNPZnlaSGN4eg/callback failed: Discord\Http\Exceptions\NotFoundException: Not Found - { - "message": "Unknown interaction", - "code": 10062 -} in /home/ubuntu/executor/workspace/vendor/discord-php/http/src/Discord/HttpTrait.php:457 -Stack trace: -#0 /home/ubuntu/executor/workspace/vendor/discord-php/http/src/Discord/HttpTrait.php(287): Discord\Http\Http->handleError() -#1 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): Discord\Http\Http->Discord\Http\{closure}() -#2 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#3 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#4 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#5 /home/ubuntu/executor/workspace/vendor/react/promise/src/Deferred.php(45): React\Promise\Promise::React\Promise\{closure}() -#6 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/Transaction.php(90): React\Promise\Deferred->resolve() -#7 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Http\Io\Transaction->React\Http\Io\{closure}() -#8 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#9 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#10 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#11 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}() -#12 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(181): React\Promise\Internal\FulfilledPromise->then() -#13 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#14 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#15 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}() -#16 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(178): React\Promise\Internal\FulfilledPromise->then() -#17 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#18 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#19 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/Transaction.php(193): React\Promise\Promise::React\Promise\{closure}() -#20 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\Transaction->React\Http\Io\{closure}() -#21 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(50): Evenement\EventEmitter->emit() -#22 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(151): React\Http\Io\ReadableBodyStream->close() -#23 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(33): React\Http\Io\ReadableBodyStream->handleEnd() -#24 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\ReadableBodyStream->React\Http\Io\{closure}() -#25 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/CloseProtectionStream.php(96): Evenement\EventEmitter->emit() -#26 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ClientRequestStream.php(228): React\Http\Io\CloseProtectionStream->handleData() -#27 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\ClientRequestStream->handleData() -#28 /home/ubuntu/executor/workspace/vendor/react/stream/src/Util.php(71): Evenement\EventEmitter->emit() -#29 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Stream\Util::React\Stream\{closure}() -#30 /home/ubuntu/executor/workspace/vendor/react/stream/src/DuplexResourceStream.php(209): Evenement\EventEmitter->emit() -#31 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(246): React\Stream\DuplexResourceStream->handleData() -#32 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(213): React\EventLoop\StreamSelectLoop->waitForStreamActivity() -#33 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(1822): React\EventLoop\StreamSelectLoop->run() -#34 /home/ubuntu/executor/workspace/bot.php(540): Discord\Discord->run() -#35 {main} -[2026-02-14T18:21:19.729793+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":1,"empty":true} -Unhandled promise rejection with Discord\Http\Exceptions\NotFoundException: Not Found - { - "message": "Unknown interaction", - "code": 10062 -} in /home/ubuntu/executor/workspace/vendor/discord-php/http/src/Discord/HttpTrait.php:457 -Stack trace: -#0 /home/ubuntu/executor/workspace/vendor/discord-php/http/src/Discord/HttpTrait.php(287): Discord\Http\Http->handleError() -#1 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): Discord\Http\Http->Discord\Http\{closure}() -#2 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#3 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#4 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#5 /home/ubuntu/executor/workspace/vendor/react/promise/src/Deferred.php(45): React\Promise\Promise::React\Promise\{closure}() -#6 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/Transaction.php(90): React\Promise\Deferred->resolve() -#7 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Http\Io\Transaction->React\Http\Io\{closure}() -#8 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#9 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#10 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#11 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}() -#12 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(181): React\Promise\Internal\FulfilledPromise->then() -#13 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#14 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#15 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}() -#16 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(178): React\Promise\Internal\FulfilledPromise->then() -#17 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#18 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#19 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/Transaction.php(193): React\Promise\Promise::React\Promise\{closure}() -#20 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\Transaction->React\Http\Io\{closure}() -#21 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(50): Evenement\EventEmitter->emit() -#22 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(151): React\Http\Io\ReadableBodyStream->close() -#23 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(33): React\Http\Io\ReadableBodyStream->handleEnd() -#24 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\ReadableBodyStream->React\Http\Io\{closure}() -#25 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/CloseProtectionStream.php(96): Evenement\EventEmitter->emit() -#26 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ClientRequestStream.php(228): React\Http\Io\CloseProtectionStream->handleData() -#27 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\ClientRequestStream->handleData() -#28 /home/ubuntu/executor/workspace/vendor/react/stream/src/Util.php(71): Evenement\EventEmitter->emit() -#29 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Stream\Util::React\Stream\{closure}() -#30 /home/ubuntu/executor/workspace/vendor/react/stream/src/DuplexResourceStream.php(209): Evenement\EventEmitter->emit() -#31 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(246): React\Stream\DuplexResourceStream->handleData() -#32 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(213): React\EventLoop\StreamSelectLoop->waitForStreamActivity() -#33 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(1822): React\EventLoop\StreamSelectLoop->run() -#34 /home/ubuntu/executor/workspace/bot.php(540): Discord\Discord->run() -#35 {main} -[2026-02-14T18:21:19.821292+00:00] DiscordPHP.WARNING: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjI5NjYxMjk2NDU5ODAzMzpFVGcxVHdwUk91REVyQnZKbUpwNjNoY2pDVXV0SW1oa1didlZZaW55U0ZKclJZTm1LZkZweGcwUWgwUmJZTHdPemlMTkFEMmhLamZORURPSGl0VEtNQ1czMXRDNVdaQTdiT3NObkhTS0h3UTRGbkJJNWpvVDlSTkNPZnlaSGN4eg/messages/@original failed: Discord\Http\Exceptions\NotFoundException: Not Found - { - "message": "Unknown Webhook", - "code": 10015 -} in /home/ubuntu/executor/workspace/vendor/discord-php/http/src/Discord/HttpTrait.php:457 -Stack trace: -#0 /home/ubuntu/executor/workspace/vendor/discord-php/http/src/Discord/HttpTrait.php(287): Discord\Http\Http->handleError() -#1 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): Discord\Http\Http->Discord\Http\{closure}() -#2 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#3 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#4 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#5 /home/ubuntu/executor/workspace/vendor/react/promise/src/Deferred.php(45): React\Promise\Promise::React\Promise\{closure}() -#6 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/Transaction.php(90): React\Promise\Deferred->resolve() -#7 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Http\Io\Transaction->React\Http\Io\{closure}() -#8 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#9 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#10 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#11 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}() -#12 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(181): React\Promise\Internal\FulfilledPromise->then() -#13 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#14 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#15 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}() -#16 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(178): React\Promise\Internal\FulfilledPromise->then() -#17 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#18 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#19 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/Transaction.php(193): React\Promise\Promise::React\Promise\{closure}() -#20 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\Transaction->React\Http\Io\{closure}() -#21 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(50): Evenement\EventEmitter->emit() -#22 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(151): React\Http\Io\ReadableBodyStream->close() -#23 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(33): React\Http\Io\ReadableBodyStream->handleEnd() -#24 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\ReadableBodyStream->React\Http\Io\{closure}() -#25 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/CloseProtectionStream.php(96): Evenement\EventEmitter->emit() -#26 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ClientRequestStream.php(228): React\Http\Io\CloseProtectionStream->handleData() -#27 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\ClientRequestStream->handleData() -#28 /home/ubuntu/executor/workspace/vendor/react/stream/src/Util.php(71): Evenement\EventEmitter->emit() -#29 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Stream\Util::React\Stream\{closure}() -#30 /home/ubuntu/executor/workspace/vendor/react/stream/src/DuplexResourceStream.php(209): Evenement\EventEmitter->emit() -#31 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(246): React\Stream\DuplexResourceStream->handleData() -#32 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(213): React\EventLoop\StreamSelectLoop->waitForStreamActivity() -#33 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(1822): React\EventLoop\StreamSelectLoop->run() -#34 /home/ubuntu/executor/workspace/bot.php(540): Discord\Discord->run() -#35 {main} -[2026-02-14T18:21:19.821479+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} -Unhandled promise rejection with Discord\Http\Exceptions\NotFoundException: Not Found - { - "message": "Unknown Webhook", - "code": 10015 -} in /home/ubuntu/executor/workspace/vendor/discord-php/http/src/Discord/HttpTrait.php:457 -Stack trace: -#0 /home/ubuntu/executor/workspace/vendor/discord-php/http/src/Discord/HttpTrait.php(287): Discord\Http\Http->handleError() -#1 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): Discord\Http\Http->Discord\Http\{closure}() -#2 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#3 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#4 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#5 /home/ubuntu/executor/workspace/vendor/react/promise/src/Deferred.php(45): React\Promise\Promise::React\Promise\{closure}() -#6 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/Transaction.php(90): React\Promise\Deferred->resolve() -#7 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Http\Io\Transaction->React\Http\Io\{closure}() -#8 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(174): React\Promise\Internal\FulfilledPromise->then() -#9 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#10 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#11 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}() -#12 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(181): React\Promise\Internal\FulfilledPromise->then() -#13 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#14 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#15 /home/ubuntu/executor/workspace/vendor/react/promise/src/Internal/FulfilledPromise.php(47): React\Promise\Promise::React\Promise\{closure}() -#16 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(178): React\Promise\Internal\FulfilledPromise->then() -#17 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(222): React\Promise\Promise::React\Promise\{closure}() -#18 /home/ubuntu/executor/workspace/vendor/react/promise/src/Promise.php(287): React\Promise\Promise->settle() -#19 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/Transaction.php(193): React\Promise\Promise::React\Promise\{closure}() -#20 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\Transaction->React\Http\Io\{closure}() -#21 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(50): Evenement\EventEmitter->emit() -#22 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(151): React\Http\Io\ReadableBodyStream->close() -#23 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ReadableBodyStream.php(33): React\Http\Io\ReadableBodyStream->handleEnd() -#24 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\ReadableBodyStream->React\Http\Io\{closure}() -#25 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/CloseProtectionStream.php(96): Evenement\EventEmitter->emit() -#26 /home/ubuntu/executor/workspace/vendor/react/http/src/Io/ClientRequestStream.php(228): React\Http\Io\CloseProtectionStream->handleData() -#27 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Http\Io\ClientRequestStream->handleData() -#28 /home/ubuntu/executor/workspace/vendor/react/stream/src/Util.php(71): Evenement\EventEmitter->emit() -#29 /home/ubuntu/executor/workspace/vendor/evenement/evenement/src/EventEmitterTrait.php(143): React\Stream\Util::React\Stream\{closure}() -#30 /home/ubuntu/executor/workspace/vendor/react/stream/src/DuplexResourceStream.php(209): Evenement\EventEmitter->emit() -#31 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(246): React\Stream\DuplexResourceStream->handleData() -#32 /home/ubuntu/executor/workspace/vendor/react/event-loop/src/StreamSelectLoop.php(213): React\EventLoop\StreamSelectLoop->waitForStreamActivity() -#33 /home/ubuntu/executor/workspace/vendor/team-reflex/discord-php/src/Discord/Discord.php(1822): React\EventLoop\StreamSelectLoop->run() -#34 /home/ubuntu/executor/workspace/bot.php(540): Discord\Discord->run() -#35 {main} -[2026-02-14T18:21:32.400610+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:32.400815+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:32.400949+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:21:32.401020+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:32.520513+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":520.488977432251} -[2026-02-14T18:21:34.127535+00:00] DiscordPHP.DEBUG: resetting payload count {"count":2} -[2026-02-14T18:21:46.160127+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:46.160329+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:46.160420+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:21:46.160473+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:46.279983+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":279.9561023712158} -[2026-02-14T18:21:59.910327+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:59.910492+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:21:59.910566+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:21:59.910624+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:00.029247+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":1029.2260646820068} -[2026-02-14T18:22:00.863548+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":21} -[2026-02-14T18:22:00.904601+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":40.776968002319336} -[2026-02-14T18:22:13.670303+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:13.670511+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:13.670615+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:22:13.670688+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:13.793562+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":793.5380935668945} -[2026-02-14T18:22:27.430266+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:27.430527+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:27.430621+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:22:27.430664+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:27.549944+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":549.9179363250732} -[2026-02-14T18:22:34.132477+00:00] DiscordPHP.DEBUG: resetting payload count {"count":1} -[2026-02-14T18:22:41.187562+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:41.187842+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:41.187942+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:22:41.188001+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:41.309126+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":309.1089725494385} -[2026-02-14T18:22:42.114475+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":21} -[2026-02-14T18:22:42.155377+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":40.54379463195801} -[2026-02-14T18:22:54.945287+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:54.945659+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:54.945839+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:22:54.945915+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:22:55.063977+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":1063.9550685882568} -[2026-02-14T18:23:08.903446+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:08.903732+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:08.903866+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:23:08.903931+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:09.140980+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":1140.9571170806885} -[2026-02-14T18:23:22.652654+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:22.652907+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:22.652992+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:23:22.653045+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:22.887927+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":887.9070281982422} -[2026-02-14T18:23:23.393464+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":24} -[2026-02-14T18:23:23.649528+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":254.81605529785156} -[2026-02-14T18:23:34.141848+00:00] DiscordPHP.DEBUG: resetting payload count {"count":2} -[2026-02-14T18:23:37.163169+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:37.163341+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:37.163438+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:23:37.163509+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:37.392983+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":392.95196533203125} -[2026-02-14T18:23:51.137662+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:51.137852+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:51.137933+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:23:51.137988+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:23:51.387846+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":387.77709007263184} -[2026-02-14T18:24:04.649216+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":24} -[2026-02-14T18:24:04.887830+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:04.888003+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:04.888097+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:24:04.888169+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:04.888733+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":239.26186561584473} -[2026-02-14T18:24:05.140064+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":1140.0420665740967} -[2026-02-14T18:24:18.649665+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:18.649850+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:18.649960+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:24:18.650016+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:18.887843+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":887.8219127655029} -[2026-02-14T18:24:32.412454+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:32.412630+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:32.412706+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:24:32.412754+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:32.639286+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":639.2650604248047} -[2026-02-14T18:24:34.142684+00:00] DiscordPHP.DEBUG: resetting payload count {"count":1} -[2026-02-14T18:24:45.900393+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":27} -[2026-02-14T18:24:46.140564+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":239.9289608001709} -[2026-02-14T18:24:46.162602+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:46.162802+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:46.162894+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:24:46.162947+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:24:46.389549+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":389.5230293273926} -[2026-02-14T18:25:00.141292+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:25:00.141444+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:25:00.141522+00:00] DiscordPHP.DEBUG: sent UDP heartbeat -[2026-02-14T18:25:00.141584+00:00] DiscordPHP.DEBUG: sending heartbeat -[2026-02-14T18:25:00.388570+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":388.5490894317627} +[2026-02-14T19:19:59.255138+00:00] DiscordPHP.DEBUG: Initializing DiscordPHP v10.46.0 (DiscordPHP-Http: v10.8.0 & Gateway: v10) on PHP 8.2.29 +[2026-02-14T19:20:00.507258+00:00] DiscordPHP.DEBUG: BUCKET getapplications/@me queued REQ GET applications/@me +[2026-02-14T19:20:00.510778+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:00.763079+00:00] DiscordPHP.DEBUG: BUCKET getgateway/bot queued REQ GET gateway/bot +[2026-02-14T19:20:00.992367+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":1,"empty":true} +[2026-02-14T19:20:04.500868+00:00] DiscordPHP.DEBUG: REQ GET gateway/bot successful +[2026-02-14T19:20:04.502552+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":1,"empty":true} +[2026-02-14T19:20:04.509460+00:00] DiscordPHP.INFO: gateway retrieved and set {"gateway":"wss://gateway.discord.gg/?v=10&encoding=json&compress=zlib-stream","session":{"total":1000,"remaining":980,"reset_after":79702441,"max_concurrency":1}} +[2026-02-14T19:20:04.509813+00:00] DiscordPHP.DEBUG: session data received {"session":{"total":1000,"remaining":980,"reset_after":79702441,"max_concurrency":1}} +[2026-02-14T19:20:04.509849+00:00] DiscordPHP.INFO: starting connection to websocket {"gateway":"wss://gateway.discord.gg/?v=10&encoding=json&compress=zlib-stream"} +[2026-02-14T19:20:04.742289+00:00] DiscordPHP.DEBUG: REQ GET applications/@me successful +[2026-02-14T19:20:04.742405+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:06.753462+00:00] DiscordPHP.INFO: websocket connection has been created +[2026-02-14T19:20:06.762735+00:00] DiscordPHP.INFO: received hello +[2026-02-14T19:20:06.762960+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":null} +[2026-02-14T19:20:06.765041+00:00] DiscordPHP.INFO: heartbeat timer initialized {"interval":41250.0} +[2026-02-14T19:20:06.765189+00:00] DiscordPHP.INFO: identifying {"payload":{"op":2,"d":{"token":"*****","properties":{"os":"Linux","browser":"DiscordBot (https://github.com/discord-php/DiscordPHP-HTTP, v10.8.0)","device":"DiscordBot (https://github.com/discord-php/DiscordPHP-HTTP, v10.8.0)","referrer":"https://github.com/discord-php/DiscordPHP","referring_domain":"https://github.com/discord-php/DiscordPHP"},"compress":true,"intents":53608189}}} +[2026-02-14T19:20:06.988314+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":223.22392463684082} +[2026-02-14T19:20:06.988649+00:00] DiscordPHP.DEBUG: ready packet received +[2026-02-14T19:20:06.988720+00:00] DiscordPHP.DEBUG: resume_gateway_url received {"url":"wss://gateway-us-east1-c.discord.gg"} +[2026-02-14T19:20:06.988757+00:00] DiscordPHP.DEBUG: discord trace received {"trace":["[\"gateway-prd-arm-us-east1-c-qzff\",{\"micros\":134617,\"calls\":[\"id_created\",{\"micros\":678,\"calls\":[]},\"session_lookup_time\",{\"micros\":1013,\"calls\":[]},\"session_lookup_finished\",{\"micros\":11,\"calls\":[]},\"discord-sessions-prd-2-179\",{\"micros\":132605,\"calls\":[\"start_session\",{\"micros\":91340,\"calls\":[\"discord-api-rpc-66c79f4bd4-2brsl\",{\"micros\":35004,\"calls\":[\"get_user\",{\"micros\":7427},\"get_guilds\",{\"micros\":4534},\"send_scheduled_deletion_message\",{\"micros\":16},\"guild_join_requests\",{\"micros\":1624},\"authorized_ip_coro\",{\"micros\":11},\"pending_payments\",{\"micros\":1414},\"apex_experiments\",{\"micros\":44958},\"sessions_experiments\",{\"micros\":7},\"user_activities\",{\"micros\":5},\"played_application_ids\",{\"micros\":4},\"linked_users\",{\"micros\":4},\"ad_personalization_toggles_disabled\",{\"micros\":3},\"regional_feature_config\",{\"micros\":3}]}]},\"starting_guild_connect\",{\"micros\":31,\"calls\":[]},\"presence_started\",{\"micros\":22453,\"calls\":[]},\"guilds_started\",{\"micros\":64,\"calls\":[]},\"lobbies_started\",{\"micros\":2,\"calls\":[]},\"guilds_connect\",{\"micros\":1,\"calls\":[]},\"presence_connect\",{\"micros\":18640,\"calls\":[]},\"connect_finished\",{\"micros\":18659,\"calls\":[]},\"build_ready\",{\"micros\":14,\"calls\":[]},\"clean_ready\",{\"micros\":40,\"calls\":[]},\"optimize_ready\",{\"micros\":1,\"calls\":[]},\"split_ready\",{\"micros\":0,\"calls\":[]}]}]}]"]} +[2026-02-14T19:20:06.991124+00:00] DiscordPHP.DEBUG: client created and session id stored {"session_id":"976c6a5888afeb7aab2d9ec5ac8f3c94","user":{"id":"1471909193886859294","username":"AsepSahur","discriminator":"6954","global_name":null,"avatar":"https://cdn.discordapp.com/avatars/1471909193886859294/8a88b0710fa41f7eef469c3dedc30e27.webp?size=1024","bot":true,"system":null,"mfa_enabled":false,"banner":null,"accent_color":null,"locale":null,"verified":true,"email":null,"flags":0,"premium_type":null,"public_flags":null,"avatar_decoration_data":null,"collectibles":null,"primary_guild":null}} +[2026-02-14T19:20:06.997035+00:00] DiscordPHP.INFO: stored guilds {"count":0,"unavailable":1} +[2026-02-14T19:20:07.493911+00:00] DiscordPHP.DEBUG: guild available {"guild":"1428530728706117632","unavailable":1} +[2026-02-14T19:20:07.499086+00:00] DiscordPHP.INFO: all guilds are now available {"count":1} +[2026-02-14T19:20:07.499241+00:00] DiscordPHP.INFO: loadAllMembers option is disabled, not setting chunking up +[2026-02-14T19:20:07.505016+00:00] DiscordPHP.INFO: voice class initialized +[2026-02-14T19:20:07.505167+00:00] DiscordPHP.INFO: client is ready +[2026-02-14T19:20:07.505218+00:00] DiscordPHP.INFO: The 'ready' event is deprecated and will be removed in a future version of DiscordPHP. Please use 'init' instead. +Bot is ready as AsepSahur#6954 +[2026-02-14T19:20:07.759392+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands +[2026-02-14T19:20:07.763204+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:07.994452+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands +[2026-02-14T19:20:07.994773+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands +[2026-02-14T19:20:07.995140+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands +[2026-02-14T19:20:07.995309+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands +[2026-02-14T19:20:07.995461+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands +[2026-02-14T19:20:07.995626+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands +[2026-02-14T19:20:07.995743+00:00] DiscordPHP.DEBUG: BUCKET postapplications/:application_id/commands queued REQ POST applications/1471909193886859294/commands +[2026-02-14T19:20:09.107417+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful +[2026-02-14T19:20:09.107584+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.107696+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.241045+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful +[2026-02-14T19:20:09.241207+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.241318+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.488116+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful +[2026-02-14T19:20:09.488210+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.488348+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.740636+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful +[2026-02-14T19:20:09.740750+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.740853+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.991944+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful +[2026-02-14T19:20:09.992077+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:09.992173+00:00] DiscordPHP.INFO: BUCKET postapplications/:application_id/commands expecting rate limit, timer interval 19228 ms +[2026-02-14T19:20:29.237992+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:31.491518+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful +[2026-02-14T19:20:31.491685+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:31.491815+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:31.740910+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful +[2026-02-14T19:20:31.741065+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:31.741195+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:20:31.989381+00:00] DiscordPHP.DEBUG: REQ POST applications/1471909193886859294/commands successful +[2026-02-14T19:20:31.989525+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:20:48.016403+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":5} +[2026-02-14T19:20:48.241810+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":225.0809669494629} +[2026-02-14T19:21:06.776235+00:00] DiscordPHP.DEBUG: resetting payload count {"count":3} +[2026-02-14T19:21:29.289934+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":5} +[2026-02-14T19:21:29.329896+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":39.633989334106445} +[2026-02-14T19:22:06.810571+00:00] DiscordPHP.DEBUG: resetting payload count {"count":1} +[2026-02-14T19:22:10.541613+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":8} +[2026-02-14T19:22:10.580557+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":38.68699073791504} +[2026-02-14T19:22:24.168824+00:00] DiscordPHP.DEBUG: BUCKET postinteractions/:interaction_id/:interaction_token/callback queued REQ POST interactions/1472312038096109609/aW50ZXJhY3Rpb246MTQ3MjMxMjAzODA5NjEwOTYwOTp5SWxRS3dlS09lN2s4Q21ZN0RkeER3ZXFiNWoxSVpXbW0zOGZqbUxjMGlnUkY1RkFIQmFtVGV0a0FLVUh6ZG05OFNFYzVYQWYxQXZiUElzMVlJZ012dFVGQ1o2TkJzZXJlYzJxNmVjSnRnRDhuNVE1QkJTenZjU00ySG1OQ3VVdA/callback +[2026-02-14T19:22:24.169075+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:22:24.319038+00:00] DiscordPHP.INFO: received session id for voice session {"guild":"1428530728706117632","session_id":"976c6a5888afeb7aab2d9ec5ac8f3c94"} +[2026-02-14T19:22:24.456015+00:00] DiscordPHP.INFO: received token and endpoint for voice session {"guild":"1428530728706117632","token":"*****","endpoint":"c-fra20-5f509e9b.discord.media:2083"} +[2026-02-14T19:22:24.460517+00:00] DiscordPHP.DEBUG: Creating new voice websocket {"endpoint":"c-fra20-5f509e9b.discord.media:2083"} +[2026-02-14T19:22:24.807984+00:00] DiscordPHP.DEBUG: REQ POST interactions/1472312038096109609/aW50ZXJhY3Rpb246MTQ3MjMxMjAzODA5NjEwOTYwOTp5SWxRS3dlS09lN2s4Q21ZN0RkeER3ZXFiNWoxSVpXbW0zOGZqbUxjMGlnUkY1RkFIQmFtVGV0a0FLVUh6ZG05OFNFYzVYQWYxQXZiUElzMVlJZ012dFVGQ1o2TkJzZXJlYzJxNmVjSnRnRDhuNVE1QkJTenZjU00ySG1OQ3VVdA/callback successful +[2026-02-14T19:22:24.808180+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:22:25.044049+00:00] DiscordPHP.DEBUG: connected to voice websocket +[2026-02-14T19:22:25.045489+00:00] DiscordPHP.DEBUG: sending identify {"packet":{"op":0,"d":{"server_id":"1428530728706117632","user_id":"1471909193886859294","token":"*****","max_dave_protocol_version":0,"session_id":"976c6a5888afeb7aab2d9ec5ac8f3c94"}}} +[2026-02-14T19:22:25.046341+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:22:25.163747+00:00] DiscordPHP.DEBUG: received voice ready packet {"data":{"streams":[{"type":"video","ssrc":2679,"rtx_ssrc":2680,"rid":"","quality":0,"active":false}],"ssrc":2678,"port":19314,"modes":["aead_aes256_gcm_rtpsize","aead_xchacha20_poly1305_rtpsize"],"ip":"104.29.147.190","experiments":["fixed_keyframe_interval"]}} +[2026-02-14T19:22:25.167398+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":167.37604141235352} +[2026-02-14T19:22:25.167609+00:00] DiscordPHP.DEBUG: received client connect packet {"data":{"Discord\\WebSockets\\Payload":{"op":11,"d":{"user_ids":["235088799074484224","830530156048285716","906246223504240641","923944350612848700","1414108278354608278"]}}}} +[2026-02-14T19:22:25.168940+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"235088799074484224","ssrc":228,"speaking":1}} +[2026-02-14T19:22:25.169211+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"830530156048285716","ssrc":243,"speaking":1}} +[2026-02-14T19:22:25.169500+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"235088799074484224","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:25.169581+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"830530156048285716","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:25.169666+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"906246223504240641","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:25.169786+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"923944350612848700","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:25.169861+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"1414108278354608278","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:25.170119+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"235088799074484224","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:25.264152+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"830530156048285716","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:25.264453+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"906246223504240641","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:25.264548+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"923944350612848700","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:25.264613+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"1414108278354608278","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:25.381358+00:00] DiscordPHP.DEBUG: received our IP and port {"ip":"34.16.53.23","port":2944} +[2026-02-14T19:22:25.502147+00:00] DiscordPHP.DEBUG: received description packet, vc ready {"data":{"video_codec":"H264","secure_frames_version":0,"secret_key":"*****","mode":"aead_aes256_gcm_rtpsize","media_session_id":"208aefde4d8f4e84527d8d3adce568cc","dave_protocol_version":0,"audio_codec":"opus"}} +[2026-02-14T19:22:25.502321+00:00] DiscordPHP.INFO: voice manager is ready +[2026-02-14T19:22:25.505261+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjMxMjAzODA5NjEwOTYwOTp5SWxRS3dlS09lN2s4Q21ZN0RkeER3ZXFiNWoxSVpXbW0zOGZqbUxjMGlnUkY1RkFIQmFtVGV0a0FLVUh6ZG05OFNFYzVYQWYxQXZiUElzMVlJZ012dFVGQ1o2TkJzZXJlYzJxNmVjSnRnRDhuNVE1QkJTenZjU00ySG1OQ3VVdA/messages/@original +[2026-02-14T19:22:25.505408+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:22:25.506618+00:00] DiscordPHP.INFO: voice client is ready +[2026-02-14T19:22:25.506897+00:00] DiscordPHP.INFO: set voice client bitrate {"bitrate":64000} +[2026-02-14T19:22:25.507509+00:00] DiscordPHP.DEBUG: received any packet {"data":{"attributes":{"any":0},"created":true,"class":"Discord\\Voice\\Any"}} +[2026-02-14T19:22:25.558586+00:00] DiscordPHP.INFO: received session id for voice session {"guild":"1428530728706117632","session_id":"976c6a5888afeb7aab2d9ec5ac8f3c94"} +[2026-02-14T19:22:25.657594+00:00] DiscordPHP.WARNING: voice websocket closed {"op":4014,"reason":"Disconnected."} +[2026-02-14T19:22:25.657791+00:00] DiscordPHP.WARNING: closing UDP client +[2026-02-14T19:22:25.658064+00:00] DiscordPHP.WARNING: received critical opcode - not reconnecting {"op":4014,"reason":"Disconnected."} +Voice client closed for channel Staff voice +[2026-02-14T19:22:25.661058+00:00] DiscordPHP.WARNING: voice manager closed +[2026-02-14T19:22:25.661264+00:00] DiscordPHP.WARNING: voice client closed +[2026-02-14T19:22:25.973013+00:00] DiscordPHP.DEBUG: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjMxMjAzODA5NjEwOTYwOTp5SWxRS3dlS09lN2s4Q21ZN0RkeER3ZXFiNWoxSVpXbW0zOGZqbUxjMGlnUkY1RkFIQmFtVGV0a0FLVUh6ZG05OFNFYzVYQWYxQXZiUElzMVlJZ012dFVGQ1o2TkJzZXJlYzJxNmVjSnRnRDhuNVE1QkJTenZjU00ySG1OQ3VVdA/messages/@original successful +[2026-02-14T19:22:25.973182+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:22:29.319649+00:00] DiscordPHP.DEBUG: BUCKET postinteractions/:interaction_id/:interaction_token/callback queued REQ POST interactions/1472312059659288608/aW50ZXJhY3Rpb246MTQ3MjMxMjA1OTY1OTI4ODYwODpRV1Fxd3JwakZ6Zk8xQzc3VVdFV3hMdERKWW41emRlTVRQVVRrUm5mZWpJOUhDWEk3b1c4bGkxNEsxMk9RVFdMN0FJbUhHeGJWVHVOT2R5WDU2Mm5lYm95TjIyTEpVbGUwZ3FUZGVBR2ZRandpNHFROXQ2MXdqa0ExV2dUUWk3bQ/callback +[2026-02-14T19:22:29.319819+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:22:29.377907+00:00] DiscordPHP.INFO: received session id for voice session {"guild":"1428530728706117632","session_id":"976c6a5888afeb7aab2d9ec5ac8f3c94"} +[2026-02-14T19:22:29.378067+00:00] DiscordPHP.INFO: received session id for voice session {"guild":"1428530728706117632","session_id":"976c6a5888afeb7aab2d9ec5ac8f3c94"} +[2026-02-14T19:22:29.497471+00:00] DiscordPHP.INFO: received token and endpoint for voice session {"guild":"1428530728706117632","token":"*****","endpoint":"c-fra20-5f509e9b.discord.media:2083"} +[2026-02-14T19:22:29.500536+00:00] DiscordPHP.DEBUG: Creating new voice websocket {"endpoint":"c-fra20-5f509e9b.discord.media:2083"} +[2026-02-14T19:22:29.501927+00:00] DiscordPHP.INFO: received token and endpoint for voice session {"guild":"1428530728706117632","token":"*****","endpoint":"c-fra20-5f509e9b.discord.media:2083"} +[2026-02-14T19:22:29.503972+00:00] DiscordPHP.DEBUG: Creating new voice websocket {"endpoint":"c-fra20-5f509e9b.discord.media:2083"} +[2026-02-14T19:22:29.706831+00:00] DiscordPHP.DEBUG: REQ POST interactions/1472312059659288608/aW50ZXJhY3Rpb246MTQ3MjMxMjA1OTY1OTI4ODYwODpRV1Fxd3JwakZ6Zk8xQzc3VVdFV3hMdERKWW41emRlTVRQVVRrUm5mZWpJOUhDWEk3b1c4bGkxNEsxMk9RVFdMN0FJbUhHeGJWVHVOT2R5WDU2Mm5lYm95TjIyTEpVbGUwZ3FUZGVBR2ZRandpNHFROXQ2MXdqa0ExV2dUUWk3bQ/callback successful +[2026-02-14T19:22:29.706980+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:22:30.109183+00:00] DiscordPHP.DEBUG: connected to voice websocket +[2026-02-14T19:22:30.109576+00:00] DiscordPHP.DEBUG: sending identify {"packet":{"op":0,"d":{"server_id":"1428530728706117632","user_id":"1471909193886859294","token":"*****","max_dave_protocol_version":0,"session_id":"976c6a5888afeb7aab2d9ec5ac8f3c94"}}} +[2026-02-14T19:22:30.111289+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:22:30.128800+00:00] DiscordPHP.DEBUG: connected to voice websocket +[2026-02-14T19:22:30.129227+00:00] DiscordPHP.DEBUG: sending identify {"packet":{"op":0,"d":{"server_id":"1428530728706117632","user_id":"1471909193886859294","token":"*****","max_dave_protocol_version":0,"session_id":"976c6a5888afeb7aab2d9ec5ac8f3c94"}}} +[2026-02-14T19:22:30.129960+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:22:30.238123+00:00] DiscordPHP.DEBUG: received voice ready packet {"data":{"streams":[{"type":"video","ssrc":2687,"rtx_ssrc":2688,"rid":"","quality":0,"active":false}],"ssrc":2686,"port":19314,"modes":["aead_aes256_gcm_rtpsize","aead_xchacha20_poly1305_rtpsize"],"ip":"104.29.147.190","experiments":["fixed_keyframe_interval"]}} +[2026-02-14T19:22:30.238606+00:00] DiscordPHP.DEBUG: received client connect packet {"data":{"Discord\\WebSockets\\Payload":{"op":11,"d":{"user_ids":["235088799074484224","830530156048285716","906246223504240641","923944350612848700","1414108278354608278"]}}}} +[2026-02-14T19:22:30.239038+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"235088799074484224","ssrc":228,"speaking":1}} +[2026-02-14T19:22:30.239721+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"830530156048285716","ssrc":243,"speaking":1}} +[2026-02-14T19:22:30.239974+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"235088799074484224","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.240075+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"830530156048285716","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.240155+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"906246223504240641","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.240234+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"923944350612848700","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.240347+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"1414108278354608278","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.240418+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"235088799074484224","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.240481+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"830530156048285716","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.240544+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"906246223504240641","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.240606+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"923944350612848700","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.240669+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"1414108278354608278","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.251500+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":251.478910446167} +[2026-02-14T19:22:30.255303+00:00] DiscordPHP.DEBUG: received voice ready packet {"data":{"streams":[{"type":"video","ssrc":2690,"rtx_ssrc":2691,"rid":"","quality":0,"active":false}],"ssrc":2689,"port":19314,"modes":["aead_aes256_gcm_rtpsize","aead_xchacha20_poly1305_rtpsize"],"ip":"104.29.147.190","experiments":["fixed_keyframe_interval"]}} +[2026-02-14T19:22:30.255858+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":255.842924118042} +[2026-02-14T19:22:30.256086+00:00] DiscordPHP.DEBUG: received client connect packet {"data":{"Discord\\WebSockets\\Payload":{"op":11,"d":{"user_ids":["235088799074484224","830530156048285716","906246223504240641","923944350612848700","1414108278354608278"]}}}} +[2026-02-14T19:22:30.256522+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"235088799074484224","ssrc":228,"speaking":1}} +[2026-02-14T19:22:30.256724+00:00] DiscordPHP.DEBUG: received speaking packet {"data":{"user_id":"830530156048285716","ssrc":243,"speaking":1}} +[2026-02-14T19:22:30.256866+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"235088799074484224","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.256946+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"830530156048285716","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.257240+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"906246223504240641","flags":null},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.257386+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"923944350612848700","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.257502+00:00] DiscordPHP.DEBUG: received flags packet {"data":{"attributes":{"user_id":"1414108278354608278","flags":2},"created":true,"class":"Discord\\Voice\\Flags"}} +[2026-02-14T19:22:30.257589+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"235088799074484224","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.257662+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"830530156048285716","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.342205+00:00] DiscordPHP.WARNING: voice websocket closed {"op":4006,"reason":"Session is no longer valid."} +[2026-02-14T19:22:30.342393+00:00] DiscordPHP.WARNING: closing UDP client +[2026-02-14T19:22:30.342598+00:00] DiscordPHP.WARNING: received critical opcode - not reconnecting {"op":4006,"reason":"Session is no longer valid."} +[2026-02-14T19:22:30.342652+00:00] DiscordPHP.DEBUG: sessions {"voice_sessions":{"1428530728706117632":null}} +[2026-02-14T19:22:30.355764+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"906246223504240641","platform":null},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.356008+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"923944350612848700","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.356107+00:00] DiscordPHP.DEBUG: received platform packet {"data":{"attributes":{"user_id":"1414108278354608278","platform":1},"created":true,"class":"Discord\\Voice\\Platform"}} +[2026-02-14T19:22:30.451576+00:00] DiscordPHP.DEBUG: received our IP and port {"ip":"34.16.53.23","port":2945} +[2026-02-14T19:22:37.675614+00:00] DiscordPHP.DEBUG: BUCKET postinteractions/:interaction_id/:interaction_token/callback queued REQ POST interactions/1472312094358765606/aW50ZXJhY3Rpb246MTQ3MjMxMjA5NDM1ODc2NTYwNjp0R3o1NlR0OFVIVzd4b1pMNGdLMnA4SU1LbzlobDdFbUhNMXhGdGxOOGwwMTRRM2FzSmVqeDBrTGhiZktuaFcxcm93dE9xOGlFSVhHbVE1SmJtQ1J4bjZYVVRScXk0Mjl3MVNCcFlSR0gzellsSWpYVUxZMUdPckxvbTdsR25sZw/callback +[2026-02-14T19:22:37.675775+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +Already in correct channel. Checking readiness... +Streaming audio: https://vt.tiktok.com/ZSmrLJT4H/ +[2026-02-14T19:22:37.677043+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjMxMjA5NDM1ODc2NTYwNjp0R3o1NlR0OFVIVzd4b1pMNGdLMnA4SU1LbzlobDdFbUhNMXhGdGxOOGwwMTRRM2FzSmVqeDBrTGhiZktuaFcxcm93dE9xOGlFSVhHbVE1SmJtQ1J4bjZYVVRScXk0Mjl3MVNCcFlSR0gzellsSWpYVUxZMUdPckxvbTdsR25sZw/messages/@original +[2026-02-14T19:22:37.677194+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":1,"empty":true} +[2026-02-14T19:22:38.334957+00:00] DiscordPHP.DEBUG: REQ POST interactions/1472312094358765606/aW50ZXJhY3Rpb246MTQ3MjMxMjA5NDM1ODc2NTYwNjp0R3o1NlR0OFVIVzd4b1pMNGdLMnA4SU1LbzlobDdFbUhNMXhGdGxOOGwwMTRRM2FzSmVqeDBrTGhiZktuaFcxcm93dE9xOGlFSVhHbVE1SmJtQ1J4bjZYVVRScXk0Mjl3MVNCcFlSR0gzellsSWpYVUxZMUdPckxvbTdsR25sZw/callback successful +[2026-02-14T19:22:38.335135+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":1,"empty":true} +[2026-02-14T19:22:38.571151+00:00] DiscordPHP.DEBUG: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjMxMjA5NDM1ODc2NTYwNjp0R3o1NlR0OFVIVzd4b1pMNGdLMnA4SU1LbzlobDdFbUhNMXhGdGxOOGwwMTRRM2FzSmVqeDBrTGhiZktuaFcxcm93dE9xOGlFSVhHbVE1SmJtQ1J4bjZYVVRScXk0Mjl3MVNCcFlSR0gzellsSWpYVUxZMUdPckxvbTdsR25sZw/messages/@original successful +[2026-02-14T19:22:38.571304+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:22:38.799213+00:00] DiscordPHP.DEBUG: sending heartbeat +Title: Kalau ngomong terserah ya emang terserah tapi kalau di publik ya jela..., Stream URL found: https://v19-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oQqhjMI8TQoLICDnZCIL2UHIITGgOeAOzAe9uf/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=2064&bt=1032&cs=2&ds=3&ft=4KJMyMzm8Zmo0VZFcx4jVutbdpWrKsd.&mime_type=video_mp4&qs=14&rc=aGVpMzhkaDkzOGZlaDxlNkBpM285dXM5cng5OTMzODczNEBhLjM1Ly0vXi8xYGNgYjA1YSMvYnFtMmRjLjVhLS1kMTFzcw%3D%3D&btag=e00088000&expire=1771269803&l=20260214192240C177EEADD67AEA5B0CE5&ply_type=2&policy=2&signature=57767b273370a0210c5121088519c9ae&tk=tt_chain_token +[2026-02-14T19:22:41.228748+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjMxMjA5NDM1ODc2NTYwNjp0R3o1NlR0OFVIVzd4b1pMNGdLMnA4SU1LbzlobDdFbUhNMXhGdGxOOGwwMTRRM2FzSmVqeDBrTGhiZktuaFcxcm93dE9xOGlFSVhHbVE1SmJtQ1J4bjZYVVRScXk0Mjl3MVNCcFlSR0gzellsSWpYVUxZMUdPckxvbTdsR25sZw/messages/@original +[2026-02-14T19:22:41.228866+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +Voice client not ready yet for Kalau ngomong terserah ya emang terserah tapi kalau di publik ya jela... (initial check), waiting for ready event... +[2026-02-14T19:22:41.619654+00:00] DiscordPHP.DEBUG: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjMxMjA5NDM1ODc2NTYwNjp0R3o1NlR0OFVIVzd4b1pMNGdLMnA4SU1LbzlobDdFbUhNMXhGdGxOOGwwMTRRM2FzSmVqeDBrTGhiZktuaFcxcm93dE9xOGlFSVhHbVE1SmJtQ1J4bjZYVVRScXk0Mjl3MVNCcFlSR0gzellsSWpYVUxZMUdPckxvbTdsR25sZw/messages/@original successful +[2026-02-14T19:22:41.619774+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:22:43.863597+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:22:43.880707+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:22:43.988995+00:00] DiscordPHP.DEBUG: sent UDP heartbeat +[2026-02-14T19:22:43.999467+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":999.4440078735352} +[2026-02-14T19:22:51.799228+00:00] DiscordPHP.DEBUG: sending heartbeat {"seq":22} +[2026-02-14T19:22:51.839807+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":40.27390480041504} +[2026-02-14T19:22:52.549683+00:00] DiscordPHP.DEBUG: sending heartbeat +Timed out waiting for voice client to be ready for Kalau ngomong terserah ya emang terserah tapi kalau di publik ya jela... +[2026-02-14T19:22:56.230601+00:00] DiscordPHP.DEBUG: BUCKET patchwebhooks/:application_id/:interaction_token/messages/@original queued REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjMxMjA5NDM1ODc2NTYwNjp0R3o1NlR0OFVIVzd4b1pMNGdLMnA4SU1LbzlobDdFbUhNMXhGdGxOOGwwMTRRM2FzSmVqeDBrTGhiZktuaFcxcm93dE9xOGlFSVhHbVE1SmJtQ1J4bjZYVVRScXk0Mjl3MVNCcFlSR0gzellsSWpYVUxZMUdPckxvbTdsR25sZw/messages/@original +[2026-02-14T19:22:56.230729+00:00] DiscordPHP.DEBUG: http not checking interaction queue {"waiting":0,"empty":true} +[2026-02-14T19:22:56.513188+00:00] DiscordPHP.DEBUG: REQ PATCH webhooks/1471909193886859294/aW50ZXJhY3Rpb246MTQ3MjMxMjA5NDM1ODc2NTYwNjp0R3o1NlR0OFVIVzd4b1pMNGdLMnA4SU1LbzlobDdFbUhNMXhGdGxOOGwwMTRRM2FzSmVqeDBrTGhiZktuaFcxcm93dE9xOGlFSVhHbVE1SmJtQ1J4bjZYVVRScXk0Mjl3MVNCcFlSR0gzellsSWpYVUxZMUdPckxvbTdsR25sZw/messages/@original successful +[2026-02-14T19:22:56.513327+00:00] DiscordPHP.DEBUG: http not checking queue {"waiting":0,"empty":true} +[2026-02-14T19:22:57.614443+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:22:57.631390+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:22:57.739321+00:00] DiscordPHP.DEBUG: sent UDP heartbeat +[2026-02-14T19:22:57.748382+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":748.3489513397217} +[2026-02-14T19:23:06.306597+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:23:06.811587+00:00] DiscordPHP.DEBUG: resetting payload count {"count":6} +[2026-02-14T19:23:11.367824+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:23:11.381935+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:23:11.489686+00:00] DiscordPHP.DEBUG: sent UDP heartbeat +[2026-02-14T19:23:11.496870+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":496.845006942749} +[2026-02-14T19:23:20.064642+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:23:25.119108+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:23:25.132497+00:00] DiscordPHP.DEBUG: sending heartbeat +[2026-02-14T19:23:25.239947+00:00] DiscordPHP.DEBUG: sent UDP heartbeat +[2026-02-14T19:23:25.251607+00:00] DiscordPHP.DEBUG: received heartbeat ack {"response_time":251.58309936523438}