public string GetTtsString() { StringBuilder builder = new StringBuilder(); var defGrp = this.DefinitionGroups.FirstOrDefault(); var def = defGrp.Definitions.FirstOrDefault(); if (!string.IsNullOrWhiteSpace(defGrp.Etymology)) { builder.AppendFormat("{0}. ", defGrp.Etymology); } if (def.DefinitionProperties != null && def.DefinitionProperties.Count != 0) { builder.AppendJoin(", ", def.DefinitionProperties.Select(p => p.Name).ToList()); builder.Append(". "); } builder.AppendFormat("{0}. ", def.Content); if (def.DefinitionExamples != null && def.DefinitionExamples.Count != 0) { DefinitionExample example = def.DefinitionExamples.FirstOrDefault(); builder.Append(example.Content); if (example.Author != null && example.Author.Count != 0) { builder.AppendFormat(" {0}", example.Author.FirstOrDefault().FullName); } } return(builder.ToString()); }
public DiscordEmbed GetEmbed() { DiscordEmbedBuilder builder = new DiscordEmbedBuilder(); string title = this.ToString(); if (!string.IsNullOrWhiteSpace(GetSuffix())) { title += GetSuffix(); } builder.WithTitle(title); builder.WithUrl("https://sozluk.gov.tr/?kelime=" + this.ToString()); builder.WithColor(new DiscordColor("ea1c23")); int groupOrder = 0; int maxGroup = 3; int maxDef = 5; foreach (DefinitionGroup group in this.DefinitionGroups) { string groupName = $"({++groupOrder})"; string groupValue = "--------------------------------------------------------------------------"; if (!string.IsNullOrWhiteSpace(group.Etymology)) { groupValue = "----- " + group.Etymology + " "; for (int i = 0; i < 70 - (groupValue.Length); i++) { groupValue += "-"; } } builder.AddField($"**{groupName}**", groupValue); int definitionOrder = 0; foreach (Definition definition in group.Definitions) { string defName = (++definitionOrder).ToString() + ". "; if (definition.DefinitionProperties != null && definition.DefinitionProperties.Count != 0) { defName += "_"; foreach (DefinitionProperty property in definition.DefinitionProperties) { defName += property.Name + ", "; } defName = defName.Remove(defName.Length - 2, 2); defName += "_ "; } if (definition.DefinitionExamples != null && definition.DefinitionExamples.Count != 0) { DefinitionExample example = definition.DefinitionExamples.FirstOrDefault(); defName += "" + example.Content; // TODO if (example.Author != null && example.Author.Count != 0) { defName += " - " + example.Author.FirstOrDefault().FullName; } } string defValue = definition.Content; builder.AddField(defName, defValue); if (definitionOrder == maxDef) { break; } } if (groupOrder == maxGroup) { break; } } return(builder.Build()); }