/// <summary> /// 속성들 설정 /// </summary> /// <param name="rankResult"></param> /// <exception cref="ArgumentNullException" /> public void SetProperties([NotNull] NaverKeywordRankResult rankResult) { if (rankResult == null) { throw new ArgumentNullException(nameof(rankResult)); } Title = $"{rankResult.SearchEngine.GetSearchEngineInfo().Name} {rankResult.SearchEngine.GetSearchEngineInfo().KeywordRankInfo.Title}"; Url = rankResult.SearchEngine.GetSearchEngineInfo().KeywordRankInfo.Url; Description = rankResult.AgeGroup.GetName(); Color = new Color(0, 199, 60); Author = new EmbedAuthorBuilder() { Name = _botConfig.Name, Url = _botConfig.Github }; int i = 0; foreach (string keyword in rankResult.Keywords) { Fields.Add(new EmbedFieldBuilder() { Name = $"{++i}.", Value = keyword }); } Footer = new EmbedFooterBuilder() { Text = $"집계시간 - {rankResult.AggragationDateTime.ToString()}" }; }
/// <summary> /// <see cref="NaverKeywordRankEmbedBuilder" />의 새 인스턴스 생성 및 초기화 /// </summary> /// <param name="rankResult"></param> /// <exception cref="ArgumentNullException" /> public NaverKeywordRankEmbedBuilder([NotNull] NaverKeywordRankResult rankResult, [NotNull] BotConfig botConfig) { if (rankResult == null) { throw new ArgumentNullException(nameof(rankResult)); } _botConfig = botConfig ?? throw new ArgumentNullException(nameof(botConfig)); SetProperties(rankResult); }