public EmbedBuilder(EmbedBuilder builder) { if (builder != null) { setDescription(builder.description.toString()); this.fields.addAll(builder.fields); this.url = builder.url; this.title = builder.title; this.timestamp = builder.timestamp; this.color = builder.color; this.thumbnail = builder.thumbnail; this.author = builder.author; this.footer = builder.footer; this.image = builder.image; } }
/** * 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()); } }
public EmbedBuilder build() { return builder.setDescription(formatMessage()); }
public static void sendException(String s, Throwable e, TextChannel channel) { if (e == null) { sendErrorMessage(s, channel); return; } StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); String trace = sw.toString(); pw.close(); sendErrorMessage(getEmbed().setDescription(s + "\n**Stack trace**: " + paste(trace)), channel); }
@Override public MessageEmbed buildEmbed() { return builder.setDescription(formatMessage()).build(); }
private MessageEmbed getCurrencyConversionEmbed(User sender, CurrencyComparison c, Double from) { EmbedBuilder builder = MessageUtils.getEmbed(sender); builder.setColor(Color.CYAN) .setDescription("Currency Conversion") .addField(c.getBase(), DECIMAL_FORMAT.format(from), true) .addField(c.getTo(), DECIMAL_FORMAT.format(from * c.getRate()), true); return builder.build(); }
public static void sendFatalException(String s, Throwable e, TextChannel channel) { if (e == null) { sendFatalErrorMessage(s, channel); return; } StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); String trace = sw.toString(); pw.close(); channel.sendMessage(new MessageBuilder().append( Constants.getOfficialGuild().getRoleById(Constants.DEVELOPER_ID).getAsMention()) .setEmbed(getEmbed().setColor(Color.red).setDescription(s + "\n**Stack trace**: " + paste(trace)) .build()).build()).queue(); }
@Override public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) { Player player = FlareBot.instance().getMusicManager().getPlayer(channel.getGuild().getId()); if (player.getPlayingTrack() == null) { MessageUtils.sendErrorMessage("Can't repeat when their is no song to repeat!", channel); } else { Queue<Track> queue = new ConcurrentLinkedQueue<>(); queue.add(player.getPlayingTrack().makeClone()); queue.addAll(player.getPlaylist()); player.getPlaylist().clear(); player.getPlaylist().addAll(queue); channel.sendMessage(new EmbedBuilder().setColor(Color.green).setDescription("The player will now repeat the current track!").build()).queue(); } }
public static void sendMessage(MessageType type, String message, TextChannel channel, User sender, long autoDeleteDelay) { sendMessage(type, (sender != null ? getEmbed(sender) : getEmbed()).setColor(type.getColor()) .setTimestamp(OffsetDateTime.now(Clock.systemUTC())) .setDescription(FormatUtils.formatCommandPrefix((channel != null ? channel.getGuild() : null), message)) , channel, autoDeleteDelay); }
private MessageEmbed getCurrencyRatesEmbed(User sender, CurrencyComparison c) { EmbedBuilder builder = MessageUtils.getEmbed(sender); builder.setColor(Color.CYAN) .setDescription("Currency Conversion Rates") .addField("From", c.getBase(), true) .addField("To", c.getTo(), true) .addField("Rate", ConvertCommand.DECIMAL_FORMAT.format(c.getRate()), false); return builder.build(); }
@Override public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) { EmbedBuilder builder = MessageUtils.getEmbed(sender); builder.setColor(Color.CYAN); builder.setDescription("Thank for you taking the time to see how you can donate to the project! This project relies heavily upon user donations so every little helps! \uD83D\uDE0A"); builder.addField("Patreon", "The most common way to donate is through our [Patreon page](https://www.patreon.com/flarebot)! Through here you can donate the amount you want and also get rewarded for it!", false); builder.addField("PayPal", "If you cannot donate through Patreon or don't like the idea of a monthly subscription then this option is for you! Simply join our [support server](" + Constants.INVITE_URL + ") and our amazing staff will assist you in doing this!\n\nShould you want to donate anonymously or you don't want to receive a reward, you can simply send money to `walshydev@gmail.com` via PayPal to donate!", false); channel.sendMessage(builder.build()).queue(); }
@Override public void run() { tc.get().getPermissionOverride(guild.getGuild().getPublicRole()).getManager() .clear(Permission.MESSAGE_WRITE) .queue(); if (guild.getGuild().getSelfMember().hasPermission(tc.get(), Permission.MESSAGE_WRITE)) channel.sendMessage(new EmbedBuilder().setColor(ColorUtils.GREEN) .setDescription("The chat has been unlocked") .build()).queue(); } }.delay(time);
private void auditLog(Config config, Context context) { String content = String.format("[%s] tried invoking: `%s`", context.getEvent().getAuthor().getAsMention(), context.getEvent().getMessage().getContentRaw()); WebhookMessage message = new WebhookMessageBuilder() .addEmbeds(new EmbedBuilder() .setColor(Color.RED) .setDescription(content) .setTimestamp(new Date().toInstant()) .build()) .setUsername("admin log") .build(); WebhookClient client = new WebhookClientBuilder(config.auditWebhook) .build(); client.send(message); }
public static void sendUsage(Command command, TextChannel channel, User user, String[] args) { String title = capitalize(command.getCommand()) + " Usage"; List<String> usages = UsageParser.matchUsage(command, args); String usage = FormatUtils.formatCommandPrefix(channel.getGuild(), usages.stream().collect(Collectors.joining("\n"))); EmbedBuilder b = getEmbed(user).setTitle(title, null).setDescription(usage).setColor(Color.pink); if (command.getExtraInfo() != null) { b.addField("Extra Info", command.getExtraInfo(), false); } if (command.getPermission() != null) { b.addField("Permission", "`" + command.getPermission() + "`\n\n" + "Default Permission: " + command.getPermission().isDefaultPerm() + "\n" + "Beta Command: " + command.isBetaTesterCommand(), false); } channel.sendMessage(b.build()).queue(); }
public static void sendFatalErrorMessage(String s, TextChannel channel) { channel.sendMessage(new MessageBuilder().append( Constants.getOfficialGuild().getRoleById(Constants.DEVELOPER_ID).getAsMention()) .setEmbed(getEmbed().setColor(Color.red).setDescription(s).build()).build()).queue(); }
@Override public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) { if (args.length == 0) { EmbedBuilder bld = MessageUtils.getEmbed(sender).setColor(Color.CYAN) .setThumbnail(MessageUtils.getAvatar(channel.getJDA().getSelfUser())); bld.setDescription("FlareBot v" + FlareBot.instance().getVersion() + " stats"); for (MultiSelectionContent<String, String, Boolean> content : Content.values) { bld.addField(content.getName(), content.getReturn(), content.isAlign()); } channel.sendMessage(bld.build()).queue(); } else GeneralUtils.handleMultiSelectionCommand(sender, channel, args, Content.values); }
public Message getNoMusicPlaying(JDA jda) { Guild guild = guild(jda); return new MessageBuilder() .setContent(FormatUtil.filter(manager.getBot().getConfig().getSuccess()+" **Now Playing...**")) .setEmbed(new EmbedBuilder() .setTitle("No music playing") .setDescription(JMusicBot.STOP_EMOJI+" "+FormatUtil.progressBar(-1)+" "+FormatUtil.volumeIcon(audioPlayer.getVolume())) .setColor(guild.getSelfMember().getColor()) .build()).build(); }
@Override public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) { if (args.length == 0) { EmbedBuilder bld = MessageUtils.getEmbed() .setThumbnail(MessageUtils.getAvatar(channel.getJDA().getSelfUser())) .setFooter("Made by Walshy#9060 and BinaryOverload#2382", channel.getJDA().getSelfUser().getEffectiveAvatarUrl()); bld.setDescription("FlareBot v" + FlareBot.getVersion() + " info") .setColor(Color.CYAN); for (Content content : Content.values) { bld.addField(content.getName(), content.getReturn(), content.isAlign()); } channel.sendMessage(bld.build()).queue(); } else GeneralUtils.handleMultiSelectionCommand(sender, channel, args, Content.values); }
@Override public void onGuildLeave(GuildLeaveEvent event) { Constants.getGuildLogChannel().sendMessage(new EmbedBuilder() .setColor(new Color(244, 23, 23)) .setThumbnail(event.getGuild().getIconUrl()) .setFooter(event.getGuild().getId(), event.getGuild().getIconUrl()) .setTimestamp(OffsetDateTime.now()) .setAuthor(event.getGuild().getName(), null, event.getGuild().getIconUrl()) .setDescription("Guild Deleted: `" + event.getGuild().getName() + "` L :broken_heart:\n" + "Guild Owner: " + (event.getGuild().getOwner() != null ? event.getGuild().getOwner().getUser().getName() : "Non-existent, they had to much L")).build()).queue(); }
@Override public void onGuildJoin(GuildJoinEvent event) { if (event.getJDA().getStatus() == JDA.Status.CONNECTED && event.getGuild().getSelfMember().getJoinDate().plusMinutes(2).isAfter(OffsetDateTime.now())) { Constants.getGuildLogChannel().sendMessage(new EmbedBuilder() .setColor(new Color(96, 230, 144)) .setThumbnail(event.getGuild().getIconUrl()) .setFooter(event.getGuild().getId(), event.getGuild().getIconUrl()) .setAuthor(event.getGuild().getName(), null, event.getGuild().getIconUrl()) .setTimestamp(event.getGuild().getSelfMember().getJoinDate()) .setDescription("Guild Created: `" + event.getGuild().getName() + "` :smile: :heart:\n" + "Guild Owner: " + event.getGuild().getOwner().getUser().getName() + "\nGuild Members: " + event.getGuild().getMembers().size()).build()).queue(); } }