comment(Inspiring::quote()); })->purpose('Display an inspiring quote'); use App\Services\TeamSpeakService; Artisan::command('ts3:test', function (TeamSpeakService $teamSpeakService) { $result = $teamSpeakService->testConnection(); $this->line($result['message'] ?? 'Sem mensagem'); if (!empty($result['whoami'])) { $this->newLine(); $this->line($result['whoami']); } return !empty($result['success']) ? self::SUCCESS : self::FAILURE; })->purpose('Testa a conexão ServerQuery do TeamSpeak 3'); Artisan::command('ts3:provision {lobby_id}', function (TeamSpeakService $teamSpeakService, int $lobby_id) { $result = $teamSpeakService->provisionMatchChannels($lobby_id); $this->line($result['message'] ?? 'Sem mensagem'); return !empty($result['success']) ? self::SUCCESS : self::FAILURE; })->purpose('Cria as salas temporárias do lobby no TeamSpeak 3'); Artisan::command('ts3:move {lobby_id}', function (TeamSpeakService $teamSpeakService, int $lobby_id) { $result = $teamSpeakService->moveMatchPlayers($lobby_id); $this->line($result['message'] ?? 'Sem mensagem'); if (!empty($result['missing'])) { $this->newLine(); foreach ($result['missing'] as $item) { $this->warn('- ' . $item); } } return !empty($result['success']) ? self::SUCCESS : self::FAILURE; })->purpose('Move os jogadores do lobby para as salas temporárias do TeamSpeak 3'); Artisan::command('ts3:cleanup {lobby_id}', function (TeamSpeakService $teamSpeakService, int $lobby_id) { $result = $teamSpeakService->cleanupMatchChannels($lobby_id); $this->line($result['message'] ?? 'Sem mensagem'); return !empty($result['success']) ? self::SUCCESS : self::FAILURE; })->purpose('Move os jogadores para o fallback e remove as salas temporárias do TeamSpeak 3'); // Monitora quedas do AC em partidas e remove salas privadas encerradas. Schedule::command('gigax:monitor-ac-matches')->everyMinute()->withoutOverlapping(); // Rede de segurança: reenvia a limpeza Discord 30 min após o fim. Schedule::command('gigax:cleanup-discord-rooms --minutes=30')->everyTenMinutes()->withoutOverlapping(); // GIGAX_PROGRESSION_SCHEDULE require __DIR__ . '/gigax_schedule.php';