public static LocalEmbedBuilder WithCurrentTimestamp(this LocalEmbedBuilder embedBuilder) => embedBuilder.WithTimestamp(DateTimeOffset.UtcNow);
public static bool TryParseEmbed(string json, out LocalEmbedBuilder embed) { embed = new LocalEmbedBuilder(); try { var embedDeserialized = JsonConvert.DeserializeObject <JsonEmbed>(json); var author = embedDeserialized.Author; var title = embedDeserialized.Title; var description = embedDeserialized.Description; var colorString = embedDeserialized.Color; var thumbnail = embedDeserialized.Thumbnail; var image = embedDeserialized.Image; var fields = embedDeserialized.Fields; var footer = embedDeserialized.Footer; var timestamp = embedDeserialized.Timestamp; if (author != null) { embed.WithAuthor(author); } if (!string.IsNullOrEmpty(title)) { embed.WithTitle(title); } if (!string.IsNullOrEmpty(description)) { embed.WithDescription(description); } if (!string.IsNullOrEmpty(colorString)) { embed.WithColor(HexToInt(colorString) ?? 0xFFFFFF); } if (!string.IsNullOrEmpty(thumbnail)) { embed.WithThumbnailUrl(thumbnail); } if (!string.IsNullOrEmpty(image)) { embed.WithImageUrl(image); } if (fields != null) { foreach (var field in fields) { var fieldName = field.Name; var fieldValue = field.Value; var fieldInline = field.IsInline; if (!string.IsNullOrEmpty(fieldName) && !string.IsNullOrEmpty(fieldValue)) { embed.AddField(fieldName, fieldValue, fieldInline); } } } if (footer != null) { embed.WithFooter(footer); } if (timestamp.HasValue) { embed.WithTimestamp(timestamp.Value); } else if (embedDeserialized.WithCurrentTimestamp) { embed.WithCurrentTimestamp(); } return(true); } catch { return(false); } }
public LocalizedEmbedBuilder WithTimestamp(DateTimeOffset?timestamp) { _builder.WithTimestamp(timestamp); return(this); }