Files
YouTube-Manager/Manager.YouTube/Models/ClientExternalData.cs

35 lines
994 B
C#

using Manager.YouTube.Models.Innertube;
namespace Manager.YouTube.Models;
public class ClientExternalData
{
public ClientState? State { get; set; }
public Channel? Channel { get; set; }
public List<string> 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;
}
}