public static void ExpandWrite(RefactorScheme schemes) { AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, "以下のデータをコレクションに格納します。"); AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $"生放送予定枠:"); AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" => UUID : {schemes._id}"); AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" => タイトル :{schemes.Title}"); AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" => チャンネル名 :{schemes.ChannelName}"); AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" => チャンネルID :{schemes.ChannelId}"); AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" "); AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" ================================================ "); AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" "); }
public static bool IsFinishedLive(RefactorScheme scheme) { if (string.IsNullOrEmpty(scheme.StartTime)) { Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(": WARNING - 開始時間を参照できません。終了していないライブとして処理します。 "); Console.ResetColor(); Settings.WarnData += 1; return(false); } DateTime time = DateTime.Parse(scheme.StartTime); return(time.Ticks - DateTime.Now.Ticks < 0); }
public static void BundleModification(Dictionary <Item, ExtendItem> bundleScheme) { foreach (KeyValuePair <Item, ExtendItem> itemValue in bundleScheme) { Item item; ExtendItem exItem; if (itemValue.Key.Snippet == null || itemValue.Value.Details == null) { _needAdditionalData = true; Settings.CautData += 1; continue; // TODO : コラボ動画の追加処理を考える。 } else { item = itemValue.Key; exItem = itemValue.Value; } if (_needAdditionalData) { } AlExtension.ColorizeWrite( DefaultScheme.CONTROLLER, $"({count+1, 3}/{bundleScheme.Count}) ^[ ^{itemValue.Key.Id.VideoId} ^] キューに追加しています / ", new [] { ConsoleColor.White, ConsoleColor.Green, ConsoleColor.Blue, ConsoleColor.Green }); RefactorScheme refactorScheme = RefactorBuilder.Define .SetTitle(item.Snippet.Title) .SetDescription(item.Snippet.Description) .SetVideoId(item.Id.VideoId) .SetChannelId(item.Snippet.ChannelId) .SetChannelName(item.Snippet.ChannelTitle) .SetPublish(item.Snippet.PublishTime.ToString()) .SetStartTime(exItem.Details.ScheduledStartTime) .SetThumbnailData( ThumbnailDataBuilder.Define.SetUrl(new Uri($"https://i.ytimg.com/vi/{itemValue.Key.Id.VideoId}/maxresdefault_live.jpg")).Build()) .Build(); Console.Write("Validate... "); /* * RefactorScheme refactorScheme = new RefactorScheme() { * _id = GenUuid.Generate(), * Title = itemValue.Key.Snippet.Title, * Description = itemValue.Key.Snippet.Description, * VideoId = itemValue.Key.Id.VideoId, * ChannelName = itemValue.Key.Snippet.ChannelTitle, * ChannelId = itemValue.Key.Snippet.ChannelId, * Thumbnail = new ThumbnailsData() { * Url = new Uri($"https://i.ytimg.com/vi/{itemValue.Key.Id.VideoId}/maxresdefault_live.jpg"), //itemValue.Key.Snippet.Thumbnails.Medium.Url, * Height = "641", //itemValue.Key.Snippet.Thumbnails.Medium.Height.ToString(), * Width = "361" //itemValue.Key.Snippet.Thumbnails.Medium.Width.ToString() * }, * StartTime = itemValue.Value.Details.ScheduledStartTime, * Publish = itemValue.Key.Snippet.PublishTime.ToString(), * }; */ if (!LiveCheck.IsFreeChat(itemValue.Key) || (Settings.UseIgnoreDataFromConfig && Settings.IgnoreVideoId.Contains(item.Id.VideoId))) { if (!LiveCheck.IsFinishedLive(refactorScheme)) { _schemes.Add(refactorScheme); } else { if (LiveCheck.IsLazyLive(itemValue.Value)) { _schemes.Add(refactorScheme); LazyLivesDict.Add(item.Id.VideoId, item.Snippet.Title); } finishedLivesDict.Add(item.Id.VideoId, item.Snippet.Title); } } else { freechatLivesDict.Add(item.Id.VideoId, item.Snippet.Title); } Console.WriteLine("/ Finished"); count++; } }