id === (int) $id; }); // کانال انتظار برای پیدا شدن حریف Broadcast::channel('matchmaking.{ticketId}', function ($user, $ticketId) { // در این مرحله، هر کاربری که لاگین باشد و تیکت خودش را داشته باشد اجازه دسترسی دارد return true; }); // کانال داخل بازی (برای ارسال پایان بازی یا تغییرات زنده) Broadcast::channel('pvp-match.{matchId}', function ($user, $matchId) { $match = \App\Models\PvpMatch::find($matchId); if (!$match) { return false; } // فقط اگر این کاربر یکی از دو بازیکنِ این مسابقه باشد، اجازه دسترسی به کانال را دارد return $match->players()->where('user_id', $user->id)->exists(); });