using Manager.YouTube.Models.Innertube; namespace Manager.YouTube.Models; public class ClientExternalData { public ClientState? State { get; set; } public Channel? Channel { get; set; } public List DatasyncIds { get; set; } = []; public string GetDatasyncId() { if (!string.IsNullOrWhiteSpace(State?.WebPlayerContextConfig?.WebPlayerContext?.DatasyncId)) { return State.WebPlayerContextConfig.WebPlayerContext.DatasyncId; } var tempDatasyncId = ""; foreach (var datasyncId in DatasyncIds) { var split = datasyncId.Split("||", StringSplitOptions.RemoveEmptyEntries); switch (split.Length) { case 0: case 2 when tempDatasyncId.Equals(split[1]): continue; case 2: tempDatasyncId = split[1]; break; } } return tempDatasyncId; } }