if (footer.getText() != null) footerObj.put("text", footer.getText()); if (footer.getIconUrl() != null) footerObj.put("icon_url", footer.getIconUrl()); obj.put("footer", footerObj);
footer = new Footer(obj.optString("text", null), obj.optString("icon_url", null), obj.optString("proxy_icon_url", null));
embeddedBuilder.setFooter(embed.getFooter().getText(), null);
/** * Converts an {@link MessageEmbed} into a String. * This will first start with the title in bold. then adds the description. * Then puts in all the fields with the title fallowed by the value. The finally the footer italicized. * * @param embed The {@link MessageEmbed} to convert * @return The String containing embed data */ public static String embedToText(MessageEmbed embed) { StringBuilder sb = new StringBuilder(); if (embed.getTitle() != null) sb.append("**").append(embed.getTitle()).append("**: "); if (embed.getDescription() != null) sb.append(embed.getDescription()).append(" "); for (MessageEmbed.Field field : embed.getFields()) { sb.append("**").append(field.getName()).append("**: ").append(field.getValue()).append(" "); } if (embed.getFooter() != null) sb.append("*").append(embed.getFooter().getText()).append("*"); return sb.toString(); }
@Test public void testFooterIsSetWithIconCorrectly() { PlaceholderMessage message = createWith(null); message.setFooter("Some weird title!", "https://i.imgur.com/xW53ysv.gif"); MessageEmbed embed = message.buildEmbed(); assertEquals("Some weird title!", embed.getFooter().getText()); assertEquals("https://i.imgur.com/xW53ysv.gif", embed.getFooter().getIconUrl()); }
@Test public void testFooterIsSetWithoutIconCorrectly() { PlaceholderMessage message = createWith(null); message.setFooter("Some weird title!"); MessageEmbed embed = message.buildEmbed(); assertEquals("Some weird title!", embed.getFooter().getText()); assertEquals(null, embed.getFooter().getIconUrl()); }
this.footer = new MessageEmbed.Footer(text, iconUrl, null);
length += author.getName().length(); if (footer != null) length += footer.getText().length(); if (fields != null)
/** * The overall length of the current EmbedBuilder in displayed characters. * <br>Represents the {@link net.dv8tion.jda.core.entities.MessageEmbed#getLength() MessageEmbed.getLength()} value. * * @return length of the current builder state */ public int length() { int length = description.length(); synchronized (fields) { length = fields.stream().map(f -> f.getName().length() + f.getValue().length()).reduce(length, Integer::sum); } if (title != null) length += title.length(); if (author != null) length += author.getName().length(); if (footer != null) length += footer.getText().length(); return length; }