public EmbedBuilder CreateFieldEmbed(IEmbedPayload payload) { var baseEmbed = CreateBaseEmbed(payload); foreach (var pair in payload.Fields) { if (pair.Item1 != null && pair.Item2 != null) { baseEmbed.AddField(pair.Item1.TrimForFieldTitle(), pair.Item2.TrimForField(), pair.Item3); } } return(baseEmbed); }
public EmbedBuilder CreateBaseEmbed(IEmbedPayload payload) { var titleResx = GetTitleResx(payload); var descResx = GetDescResx(payload); var footerResx = GetFooterResx(payload); return(new EmbedBuilder() { Title = ResolveFormatting(titleResx, payload.TitleParams?.ToArray()), Description = ResolveFormatting(descResx, payload.DescParams?.ToArray()), Color = new Color(Convert.ToUInt32(_colorConverter.GetColorCodeFromPayloadType(payload.EmbedPayloadType), 16)), Footer = new EmbedFooterBuilder { IconUrl = payload.Author == null ? "" : payload.Author.GetAvatarUrl(), Text = payload.Author == null? ResolveFormatting(footerResx, payload.FooterParams?.ToArray()) : $"{payload.Author.Username} | {ResolveFormatting(footerResx, payload.FooterParams?.ToArray())}" }, Timestamp = DateTime.UtcNow, }); }
private string GetFooterResx(IEmbedPayload payload) => _structures[payload.EmbedStruct.ToString()]["footer"];
private string GetDescResx(IEmbedPayload payload) { var desc = _structures[payload.EmbedStruct.ToString()]["desc"]; return(string.Format(desc, payload.Action)); }
private string GetTitleResx(IEmbedPayload payload) { var title = _structures[payload.EmbedStruct.ToString()]["title"]; return(string.Format(title, payload.Action)); }