private DiscordMessage ParseMessage(DiscordMessageConfig config) { DiscordMessage message = new DiscordMessage(); if (!string.IsNullOrEmpty(config.Content)) { message.AddContent(config.Content); } if (config.Embed != null && config.Embed.Enabled) { Embed embed = new Embed(); if (!string.IsNullOrEmpty(config.Embed.Title)) { embed.AddTitle(ParseField(config.Embed.Title)); } if (!string.IsNullOrEmpty(config.Embed.Description)) { embed.AddDescription(ParseField(config.Embed.Description)); } if (!string.IsNullOrEmpty(config.Embed.Color)) { embed.AddColor(config.Embed.Color); } if (!string.IsNullOrEmpty(config.Embed.Image)) { embed.AddImage(config.Embed.Image); } if (!string.IsNullOrEmpty(config.Embed.Thumbnail)) { embed.AddThumbnail(config.Embed.Thumbnail); } foreach (FieldConfig field in config.Embed.Fields.Where(f => f.Enabled).OrderBy(f => f.Order)) { embed.AddField(field.Title, ParseField(field.Value), field.Inline); } if (config.Embed.Footer != null && config.Embed.Footer.Enabled) { if (string.IsNullOrEmpty(config.Embed.Footer.Text) && string.IsNullOrEmpty(config.Embed.Footer.IconUrl)) { AddPluginInfoFooter(embed); } else { embed.AddFooter(config.Embed.Footer.Text, config.Embed.Footer.IconUrl); } } message.AddEmbed(embed); } return(message); }