net.dv8tion.jda.core.entities.MessageEmbed Java Examples
The following examples show how to use
net.dv8tion.jda.core.entities.MessageEmbed.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: PagedEmbedBuilder.java From FlareBot with MIT License | 6 votes |
/** * Gets the {@link MessageEmbed} for a specified page. * * @param page The page to get an embed. * @return the {@link MessageEmbed} page. */ public MessageEmbed getEmbed(int page) { EmbedBuilder pageEmbed = new EmbedBuilder().setColor(ColorUtils.FLAREBOT_BLUE); if (title != null) pageEmbed.setTitle(title); if(useGroups) { int start = groupsPerPage * (page); int end = Math.min(start + groupsPerPage, groupTotal); int num = start; List<PaginationList<T>.PageGroup> groups = list.getGroups().subList(start, end); for (PaginationList.PageGroup group : groups) { pageEmbed.addField(groupPrefix + num, group.getGroupAsString(), false); num++; } } else { pageEmbed.setDescription((hasCodeBlock ? "```" + codeBlock + "\n" : "") + list.getPage(page) + (hasCodeBlock ? "\n```" : "")); } if (pageCounts) { pageEmbed.addField("Page", String.valueOf(page + 1), true); pageEmbed.addField("Total Pages", String.valueOf(pageTotal), true); } pageEmbed.setColor(color); return pageEmbed.build(); }
Example #2
Source File: ModlogEvents.java From FlareBot with MIT License | 6 votes |
private void onGuildMemberRoleAdd(GuildMemberRoleAddEvent event, @Nonnull GuildWrapper wrapper) { if (cannotHandle(wrapper, ModlogEvent.MEMBER_ROLE_GIVE)) return; event.getGuild().getAuditLogs().queue(auditLogEntries -> { if (auditLogEntries.isEmpty()) return; AuditLogEntry entry = auditLogEntries.get(0); Map<String, AuditLogChange> changes = entry.getChanges(); AuditLogChange change = changes.get("$add"); @SuppressWarnings("unchecked") HashMap<String, String> role = ((ArrayList<HashMap<String, String>>) change.getNewValue()).get(0); if (wrapper.getAutoAssignRoles().contains(role.get("id")) && ((System.currentTimeMillis() / 1000) - event.getMember().getJoinDate().toEpochSecond()) < 10) { return; } ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.MEMBER_ROLE_GIVE, event.getUser(), entry.getUser(), null, new MessageEmbed.Field("Role", role.get("name") + " (" + role.get("id") + ")", true)); }); }
Example #3
Source File: ModlogEvents.java From FlareBot with MIT License | 6 votes |
private void onGuildMemberRoleRemove(GuildMemberRoleRemoveEvent event, @Nonnull GuildWrapper wrapper) { if (cannotHandle(wrapper, ModlogEvent.MEMBER_ROLE_REMOVE)) return; event.getGuild().getAuditLogs().queue(auditLogEntries -> { if (auditLogEntries.isEmpty()) return; AuditLogEntry entry = auditLogEntries.get(0); Map<String, AuditLogChange> changes = entry.getChanges(); AuditLogChange change = changes.get("$remove"); @SuppressWarnings("unchecked") HashMap<String, String> role = ((ArrayList<HashMap<String, String>>) change.getNewValue()).get(0); ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.MEMBER_ROLE_REMOVE, event.getUser(), entry.getUser(), null, new MessageEmbed.Field("Role", role.get("name") + " (" + role.get("id") + ")", true)); }); }
Example #4
Source File: ModlogEvents.java From FlareBot with MIT License | 6 votes |
private void onMessageDelete(MessageDeleteEvent event, @Nonnull GuildWrapper wrapper) { if (cannotHandle(wrapper, ModlogEvent.MESSAGE_DELETE)) return; AuditLogEntry entry = event.getGuild().getAuditLogs().type(ActionType.MESSAGE_DELETE).complete().get(0); if (entry.getUser().isBot()) return; User responsible = null; if (FlareBot.instance().getEvents().getRemovedByMeList().contains(event.getMessageIdLong())) { FlareBot.instance().getEvents().getRemovedByMeList().remove(event.getMessageIdLong()); return; } if (!RedisController.exists(event.getMessageId())) return; RedisMessage deleted = GeneralUtils.toRedisMessage(RedisController.get(event.getMessageId())); if (entry.getTargetId().equals(deleted.getAuthorID())) { if (entry.getUser().isBot()) return; responsible = entry.getUser(); } User sender = GuildUtils.getUser(deleted.getAuthorID()); ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.MESSAGE_DELETE, sender, (responsible != null ? new MessageEmbed.Field("Deleted By", MessageUtils.getUserAndId(responsible), true) : null), new MessageEmbed.Field("Message", FormatUtils.truncate(1024, deleted.getContent(), true), true), new MessageEmbed.Field("Channel", event.getTextChannel().getName() + " (" + deleted.getChannelID() + ")", true), new MessageEmbed.Field("Sent", FormatUtils.formatTime(Instant.ofEpochMilli(deleted.getTimestamp()) .atZone(ZoneId.systemDefault()).toLocalDateTime()), true) ); RedisController.del(event.getMessageId()); }
Example #5
Source File: ModlogEvents.java From FlareBot with MIT License | 5 votes |
private void onGuildVoiceLeave(GuildVoiceLeaveEvent event, @Nonnull GuildWrapper wrapper) { if (event.getGuild() == null) return; if (cannotHandle(wrapper, ModlogEvent.MEMBER_VOICE_LEAVE)) return; ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.MEMBER_VOICE_LEAVE, event.getMember().getUser(), new MessageEmbed.Field("Channel", event.getChannelLeft().getName() + " (" + event.getChannelLeft().getId() + ")", true)); }
Example #6
Source File: Command.java From Selfbot with Apache License 2.0 | 5 votes |
protected void reply(MessageEmbed embed, MessageReceivedEvent event, Consumer<Message> consumer) { if(type == Type.EDIT_ORIGINAL) event.getMessage().editMessage(new MessageBuilder().setEmbed(embed).build()).queue(consumer); else event.getChannel().sendMessage(new MessageBuilder().setEmbed(embed).build()).queue(consumer); }
Example #7
Source File: Command.java From Selfbot with Apache License 2.0 | 5 votes |
protected void reply(MessageEmbed embed, MessageReceivedEvent event) { if(type == Type.EDIT_ORIGINAL) event.getMessage().editMessage(new MessageBuilder().setEmbed(embed).build()).queue(); else event.getChannel().sendMessage(new MessageBuilder().setEmbed(embed).build()).queue(); }
Example #8
Source File: ModlogEvents.java From FlareBot with MIT License | 5 votes |
private void onGuildVoiceMove(GuildVoiceMoveEvent event, @Nonnull GuildWrapper wrapper) { if (cannotHandle(wrapper, ModlogEvent.MEMBER_VOICE_MOVE)) return; ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.MEMBER_VOICE_MOVE, event.getMember().getUser(), new MessageEmbed.Field("Channel", "`" + event.getChannelLeft().getName() + "` -> `" + event.getChannelJoined().getName() + "`", true)); }
Example #9
Source File: ModlogEvents.java From FlareBot with MIT License | 5 votes |
private void onGuildMemberNickChange(GuildMemberNickChangeEvent event, @Nonnull GuildWrapper wrapper) { if (cannotHandle(wrapper, ModlogEvent.MEMBER_NICK_CHANGE)) return; ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.MEMBER_NICK_CHANGE, event.getMember().getUser(), new MessageEmbed.Field("Previous nick", event.getPrevNick() != null ? event.getPrevNick() : event.getUser().getName(), true), new MessageEmbed.Field("New nick", event.getNewNick() != null ? event.getNewNick() : event.getUser().getName(), true)); }
Example #10
Source File: ModlogEvents.java From FlareBot with MIT License | 5 votes |
private void onGuildUpdateExplicitContentLevel(GuildUpdateExplicitContentLevelEvent e, @Nonnull GuildWrapper wrapper) { if (cannotHandle(wrapper, ModlogEvent.GUILD_EXPLICIT_FILTER_CHANGE)) return; AuditLogEntry entry = e.getGuild().getAuditLogs().complete().get(0); AuditLogChange levelChange = entry.getChanges().get("explicit_content_filter"); ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.GUILD_EXPLICIT_FILTER_CHANGE, entry.getUser(), new MessageEmbed.Field("Old level", Guild.ExplicitContentLevel.fromKey(levelChange.getOldValue()).getDescription(), true), new MessageEmbed.Field("New level", Guild.ExplicitContentLevel.fromKey(levelChange.getNewValue()).getDescription(), true)); }
Example #11
Source File: ModlogEvents.java From FlareBot with MIT License | 5 votes |
private void onMessageUpdate(MessageUpdateEvent event, @Nonnull GuildWrapper wrapper) { if (cannotHandle(wrapper, ModlogEvent.MESSAGE_EDIT)) return; if (event.getAuthor().isBot()) return; if (!RedisController.exists(event.getMessageId())) return; RedisMessage old = GeneralUtils.toRedisMessage(RedisController.get(event.getMessageId())); ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.MESSAGE_EDIT, event.getAuthor(), new MessageEmbed.Field("Old Message", FormatUtils.truncate(1024, old.getContent(), true), false), new MessageEmbed.Field("New Message", FormatUtils.truncate(1024, event.getMessage().getContentDisplay(), true), false), new MessageEmbed.Field("Channel", event.getTextChannel().getName() + " (" + event.getTextChannel().getId() + ")", true)); RedisController.set(event.getMessageId(), GeneralUtils.getRedisMessageJson(event.getMessage()), "xx", "ex", 61200); }
Example #12
Source File: ModlogEvents.java From FlareBot with MIT License | 5 votes |
private void onRoleDelete(RoleDeleteEvent event, @Nonnull GuildWrapper wrapper) { if (cannotHandle(wrapper, ModlogEvent.ROLE_DELETE)) return; event.getGuild().getAuditLogs().queue(auditLog -> { AuditLogEntry entry = auditLog.get(0); ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.ROLE_DELETE, entry.getUser(), new MessageEmbed.Field("Role", event.getRole().getName() + " (" + event.getRole().getId() + ")", true)); }); }
Example #13
Source File: ModlogEvents.java From FlareBot with MIT License | 5 votes |
private void onRoleCreate(RoleCreateEvent event, @Nonnull GuildWrapper wrapper) { if (event.getGuild() == null) return; if (cannotHandle(wrapper, ModlogEvent.ROLE_CREATE)) return; event.getGuild().getAuditLogs().queue(auditLog -> { AuditLogEntry entry = auditLog.get(0); ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.ROLE_CREATE, entry.getUser(), new MessageEmbed.Field("Role", event.getRole().getName() + " (" + event.getRole().getId() + ")", true)); }); }
Example #14
Source File: ModlogEvents.java From FlareBot with MIT License | 5 votes |
private void onGuildVoiceJoin(GuildVoiceJoinEvent event, @Nonnull GuildWrapper wrapper) { if (event.getGuild() == null) return; if (cannotHandle(wrapper, ModlogEvent.MEMBER_VOICE_JOIN)) return; ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.MEMBER_VOICE_JOIN, event.getMember().getUser(), new MessageEmbed.Field("Channel", event.getChannelJoined().getName() + " (" + event.getChannelJoined().getId() + ")", true)); }
Example #15
Source File: ModlogHandler.java From FlareBot with MIT License | 4 votes |
public void postToModlog(GuildWrapper wrapper, ModlogEvent event, User user) { postToModlog(wrapper, event, user, null, null, new MessageEmbed.Field[0]); }
Example #16
Source File: ModlogHandler.java From FlareBot with MIT License | 4 votes |
public void postToModlog(GuildWrapper wrapper, ModlogEvent event, User user, MessageEmbed.Field... fields) { postToModlog(wrapper, event, user, null, null, fields); }
Example #17
Source File: ModlogHandler.java From FlareBot with MIT License | 4 votes |
public void postToModlog(GuildWrapper wrapper, ModlogEvent event, User user, EmbedBuilder builder) { postToModlog(wrapper, event, user, null, null, builder.getFields().toArray(new MessageEmbed.Field[builder.getFields().size()])); }
Example #18
Source File: ModlogHandler.java From FlareBot with MIT License | 4 votes |
public void postToModlog(GuildWrapper wrapper, ModlogEvent event, User target, User responsible, String reason) { postToModlog(wrapper, event, target, responsible, reason, new MessageEmbed.Field[0]); }
Example #19
Source File: NINOListener.java From FlareBot with MIT License | 4 votes |
private void onGuildMessageReceived(GuildMessageReceivedEvent event) { if (event.getAuthor().isBot()) return; if (event.getMember().hasPermission(event.getChannel(), Permission.MESSAGE_MANAGE)) return; GuildWrapper wrapper = FlareBotManager.instance().getGuild(event.getGuild().getId()); if (wrapper.getNINO().isEnabled()) { // Apply the channel whitelist. if (wrapper.getNINO().getWhitelistedChannels().contains(event.getChannel().getIdLong())) return; if (wrapper.getModeration().isEventEnabled(wrapper, ModlogEvent.NINO)) { AtomicReference<String> msg = new AtomicReference<>(FormatUtils.stripMentions(event.getMessage().getContentDisplay())); URLChecker.instance().checkMessage(wrapper, event.getChannel(), msg.get(), (flag, url) -> { if (flag == null || url == null) return; for (String s : wrapper.getNINO().getWhitelist()) { if (url.equalsIgnoreCase(s)) return; } event.getMessage().delete().queue(); msg.set(FormatUtils.truncate(500, event.getMessage().getContentDisplay())); EmbedBuilder eb = new EmbedBuilder() .addField("Message", msg.get(), false) .addField("Check", flag.toString(), true) .addField("Site", url, true); if (flag == URLCheckFlag.SUSPICIOUS) { eb.addField(MessageUtils.ZERO_WIDTH_SPACE, "Message was removed due to a suspicious TLD, " + "we delete ones which are commonly known to be used by spammers/scammers. " + "Check this out for more info: https://www.spamhaus.org/statistics/tlds/" + "\nIf you know this URL is perfectly fine and want us to whitelist it globally " + "come to our " + Constants.INVITE_MARKDOWN + " otherwise you can just whitelist for your guild. " + "Check out the NINO command for mor info.", false); } else if (flag == URLCheckFlag.PHISHING) { eb.addField(MessageUtils.ZERO_WIDTH_SPACE, "These are sites which we have found to phish for " + "users personal information such as users account info or other. These are mainly " + "ones we know about and have been seen used around Discord. If you wish to report a " + "new one please join our " + Constants.INVITE_MARKDOWN, false); } ModlogHandler.getInstance().postToModlog(wrapper, ModlogEvent.NINO, event.getAuthor(), eb.getFields().toArray(new MessageEmbed.Field[]{}) ); }); } } }
Example #20
Source File: Events.java From FlareBot with MIT License | 4 votes |
private void dispatchCommand(Command cmd, String[] args, GuildMessageReceivedEvent event, GuildWrapper guild) { COMMAND_POOL.submit(() -> { Map<String, String> mdcContext = (MDC.getCopyOfContextMap() == null ? new HashMap<>() : MDC.getCopyOfContextMap()); mdcContext.put("command", cmd.getCommand()); mdcContext.put("args", Arrays.toString(args).replace("\n", "\\n")); mdcContext.put("guild", event.getGuild().getId()); mdcContext.put("user", event.getAuthor().getId()); MDC.setContextMap(mdcContext); LOGGER.info( "Dispatching command '" + cmd.getCommand() + "' " + Arrays .toString(args).replace("\n", "\\n") + " in " + event.getChannel() + "! Sender: " + event.getAuthor().getName() + '#' + event.getAuthor().getDiscriminator()); // We're sending a lot of commands... Let's change the way this works soon :D /*ApiRequester.requestAsync(ApiRoute.DISPATCH_COMMAND, new JSONObject().put("command", cmd.getCommand()) .put("guildId", guild.getGuildId()));*/ commandCounter.incrementAndGet(); try { Histogram.Timer executionTimer = Metrics.commandExecutionTime.labels(cmd.getClass().getSimpleName()).startTimer(); cmd.onCommand(event.getAuthor(), guild, event.getChannel(), event.getMessage(), args, event .getMember()); executionTimer.observeDuration(); Metrics.commandsExecuted.labels(cmd.getClass().getSimpleName()).inc(); MessageEmbed.Field field = null; if (args.length > 0) { String s = MessageUtils.getMessage(args, 0).replaceAll("`", "'"); if (s.length() > 1000) s = s.substring(0, 1000) + "..."; field = new MessageEmbed.Field("Args", "`" + s + "`", false); } ModlogHandler.getInstance().postToModlog(guild, ModlogEvent.FLAREBOT_COMMAND, event.getAuthor(), new MessageEmbed.Field("Channel", event.getChannel().getName() + " (" + event.getChannel().getIdLong() + ")", true), new MessageEmbed.Field("Command", cmd.getCommand(), true), field); } catch (Exception ex) { Metrics.commandExceptions.labels(ex.getClass().getSimpleName()).inc(); MessageUtils.sendException("**There was an internal error trying to execute your command**", ex, event .getChannel()); LOGGER.error("Exception in guild " + event.getGuild().getId() + "!\n" + '\'' + cmd.getCommand() + "' " + Arrays.toString(args) + " in " + event.getChannel() + "! Sender: " + event.getAuthor().getName() + '#' + event.getAuthor().getDiscriminator(), ex); } if ((guild.hasBetaAccess() && cmd.deleteMessage() && guild.getSettings().shouldDeleteCommands()) || cmd.deleteMessage()) { delete(event.getMessage()); removedByMe.add(event.getMessageIdLong()); } }); }
Example #21
Source File: MessageSender.java From DiscordBot with Apache License 2.0 | 4 votes |
public void sendMessage(TextChannel textChannel, MessageEmbed messageEmbed, boolean autoDelete) { sendMessage(textChannel, new MessageBuilder().setEmbed(messageEmbed).build(), autoDelete); }
Example #22
Source File: ButtonUtil.java From FlareBot with MIT License | 2 votes |
/** * Sends an embed button message with a set of buttons. * * @param channel The TextChannel to send it to. * @param embed The embed to send. * @param buttons The buttons to display. */ public static void sendButtonedMessage(TextChannel channel, MessageEmbed embed, ButtonGroup buttons) { channel.sendMessage(embed).queue(message -> handleSuccessConsumer(channel, message, buttons)); }
Example #23
Source File: ButtonUtil.java From FlareBot with MIT License | 2 votes |
/** * Sends an embed button message with a set of buttons, and returns the message. * * @return The message we sent to discord. * * @param channel The {@link TextChannel} to send it to. * @param embed The {@link MessageEmbed} to send. * @param buttons The buttons to display. */ public static Message sendReturnedButtonedMessage(TextChannel channel, MessageEmbed embed, ButtonGroup buttons) { Message message = channel.sendMessage(embed).complete(); handleSuccessConsumer(channel, message, buttons); return message; }