/** * Creates an EmbedBuilder using fields in an existing embed. * * @param embed * the existing embed */ public EmbedBuilder(MessageEmbed embed) { if(embed != null) { setDescription(embed.getDescription()); this.url = embed.getUrl(); this.title = embed.getTitle(); this.timestamp = embed.getTimestamp(); this.color = embed.getColorRaw(); this.thumbnail = embed.getThumbnail(); this.author = embed.getAuthor(); this.footer = embed.getFooter(); this.image = embed.getImage(); if (embed.getFields() != null) fields.addAll(embed.getFields()); } }
/** * 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(); }
public static void sendMessage(MessageType type, EmbedBuilder builder, TextChannel channel, long autoDeleteDelay) { if (builder.build().getColor() == null) builder.setColor(type.getColor()); if (type == MessageType.ERROR) { if (flareHeart == null) flareHeart = Getters.getEmoteById(386550693294768129L); builder.setDescription(builder.build().getDescription() + "\n\nIf you need more support join our " + "[Support Server](" + Constants.INVITE_URL + ")! Our staff can support on any issue you may have! " + (flareHeart == null ? "<3" : flareHeart.getAsMention())); } if (type != MessageType.WARNING && type != MessageType.ERROR && builder.getFields().isEmpty()) { Optional<String> globalMsg = getGlobalMessage(); if ((!lastGlobalMsg.containsKey(channel.getIdLong()) || System.currentTimeMillis() - lastGlobalMsg.get(channel.getIdLong()) >= GLOBAL_MSG_DELAY) && globalMsg.isPresent()) { lastGlobalMsg.put(channel.getIdLong(), System.currentTimeMillis()); builder.setDescription(builder.build().getDescription() + "\n\n" + globalMsg.get()); } } if (autoDeleteDelay > 0) sendAutoDeletedMessage(builder.build(), autoDeleteDelay, channel); else sendMessage(builder.build(), channel); }
String messageContent = event.getMessage().getContentStripped(); if (messageContent.trim().length() == 0 && !event.getMessage().getEmbeds().isEmpty()) { messageContent = event.getMessage().getEmbeds().get(0).getDescription();
String messageContent = message.getContentStripped(); if (messageContent.isEmpty() && !message.getEmbeds().isEmpty()) { messageContent = message.getEmbeds().get(0).getDescription();
embeddedBuilder.setDescription(embed.getDescription()); embeddedBuilder.setColor(embed.getColor()); embeddedBuilder.setTimestamp(embed.getTimestamp());