From 1779ecaca975133f720c01f07b1c12f6743f91b5 Mon Sep 17 00:00:00 2001 From: FrigaT Date: Tue, 14 Apr 2026 02:08:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=82=D1=80=D0=B5=D0=BA=D0=BE=D0=B2=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D0=BF=D0=BB=D0=B5=D0=B9=D0=BB=D0=B8=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YaMusicCli/Program.cs | 8 ++++---- YandexMusic.API/API/YPlaylistAPI.cs | 1 + YandexMusic.API/Models/Track/YTrackAlbumPair.cs | 10 ++++++++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/YaMusicCli/Program.cs b/YaMusicCli/Program.cs index df28863..8480ebf 100644 --- a/YaMusicCli/Program.cs +++ b/YaMusicCli/Program.cs @@ -8,9 +8,9 @@ internal class Program var type = await client.Authorize("y0__xDy2budARje-AYg7rmliBc11LbYoMeUiwiO6f6mSCAMDYVIKg"); var playlists = (await client.GetFavoritesAsync()).Where(t => t.Owner.Uid == client.Account.Uid).ToList(); var playlist = await client.GetPlaylistAsync("97ae0768-8a40-8485-9fa4-b6c856bc6b21"); - - - var tracks = await client.GetTracksAsync(new[] { "78412759" }); - await playlist.InsertTracksAsync(tracks.ToArray()); + var tracks = playlist.Tracks.Where(t => t.Id == "21696942").Select(t => t.Track).ToArray(); + var x = await playlist.RemoveTracksAsync(tracks); + Console.WriteLine($"TC: {playlist.TrackCount}; {playlist.Title}"); + Console.ReadKey(); } } \ No newline at end of file diff --git a/YandexMusic.API/API/YPlaylistAPI.cs b/YandexMusic.API/API/YPlaylistAPI.cs index 985b331..2005312 100644 --- a/YandexMusic.API/API/YPlaylistAPI.cs +++ b/YandexMusic.API/API/YPlaylistAPI.cs @@ -129,6 +129,7 @@ public class YPlaylistAPI : YCommonAPI public Task> DeleteTracksAsync(AuthStorage storage, YPlaylist playlist, IEnumerable tracks) { var distinctTracks = tracks.Distinct().ToList(); + var changes = distinctTracks .Select(t => playlist.Tracks?.FindIndex(ct => ct.Track?.GetKey() == t.GetKey()) ?? -1) .Where(i => i != -1) diff --git a/YandexMusic.API/Models/Track/YTrackAlbumPair.cs b/YandexMusic.API/Models/Track/YTrackAlbumPair.cs index 9d511b6..d8276c9 100644 --- a/YandexMusic.API/Models/Track/YTrackAlbumPair.cs +++ b/YandexMusic.API/Models/Track/YTrackAlbumPair.cs @@ -10,6 +10,16 @@ public class YTrackAlbumPair : IEquatable return string.Join(":", new[] { Id, AlbumId }.Where(s => !string.IsNullOrEmpty(s))); } + public static bool operator ==(YTrackAlbumPair left, YTrackAlbumPair right) + { + return Equals(left, right); + } + + public static bool operator !=(YTrackAlbumPair left, YTrackAlbumPair right) + { + return !Equals(left, right); + } + public bool Equals(YTrackAlbumPair other) { if (ReferenceEquals(null, other)) return false;