[CHORE] Update Discord JDA

This commit is contained in:
2023-11-10 19:00:52 +02:00
parent b0a0a551a0
commit 15b2796206
3 changed files with 76 additions and 65 deletions

View File

@@ -1,11 +1,11 @@
version_major=0 version_major=0
version_minor=0 version_minor=0
version_patch=39 version_patch=40
shade_group=com.hypherionmc.sdlink.shaded. shade_group=com.hypherionmc.sdlink.shaded.
# Core Dependencies # Core Dependencies
jda=5.0.0-beta.16 jda=5.0.0-beta.17
chewtils=2.0-SNAPSHOT chewtils=2.0-SNAPSHOT
webhooks=0.7.5 webhooks=0.7.5
commons4=4.4 commons4=4.4

View File

@@ -35,49 +35,54 @@ public class PlayerListSlashCommand extends SDLinkSlashCommand {
@Override @Override
protected void execute(SlashCommandEvent event) { protected void execute(SlashCommandEvent event) {
List<MinecraftAccount> players = SDLinkPlatform.minecraftHelper.getOnlinePlayers(); try {
List<MinecraftAccount> players = SDLinkPlatform.minecraftHelper.getOnlinePlayers();
EmbedBuilder builder = new EmbedBuilder(); EmbedBuilder builder = new EmbedBuilder();
List<MessageEmbed> pages = new ArrayList<>(); List<MessageEmbed> pages = new ArrayList<>();
AtomicInteger count = new AtomicInteger(); AtomicInteger count = new AtomicInteger();
if (players.isEmpty()) { if (players.isEmpty()) {
builder.setTitle("Online Players"); builder.setTitle("Online Players");
builder.setColor(Color.RED); builder.setColor(Color.RED);
builder.setDescription("There are currently no players online"); builder.setDescription("There are currently no players online");
event.replyEmbeds(builder.build()).setEphemeral(true).queue(); event.replyEmbeds(builder.build()).setEphemeral(true).queue();
return; return;
} }
EmbedPaginator.Builder paginator = MessageUtil.defaultPaginator(event); EmbedPaginator.Builder paginator = MessageUtil.defaultPaginator(event);
/** /**
* Use Pagination to avoid message limits * Use Pagination to avoid message limits
*/ */
MessageUtil.listBatches(players, 10).forEach(p -> { MessageUtil.listBatches(players, 10).forEach(p -> {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
count.getAndIncrement(); count.getAndIncrement();
builder.clear(); builder.clear();
builder.setTitle("Online Players - Page " + count.get() + "/" + (int)Math.ceil(((float)players.size() / 10))); builder.setTitle("Online Players - Page " + count.get() + "/" + (int)Math.ceil(((float)players.size() / 10)));
builder.setColor(Color.GREEN); builder.setColor(Color.GREEN);
p.forEach(account -> { p.forEach(account -> {
sb.append("`").append(account.getUsername()).append("`"); sb.append("`").append(account.getUsername()).append("`");
if (SDLinkConfig.INSTANCE.accessControl.enabled && account.getDiscordUser() != null) { if (SDLinkConfig.INSTANCE.accessControl.enabled && account.getDiscordUser() != null) {
sb.append(" - ").append(account.getDiscordUser().getAsMention()); sb.append(" - ").append(account.getDiscordUser().getAsMention());
} }
sb.append("\r\n"); sb.append("\r\n");
});
builder.setDescription(sb.toString());
pages.add(builder.build());
}); });
builder.setDescription(sb.toString()); paginator.setItems(pages);
pages.add(builder.build()); EmbedPaginator embedPaginator = paginator.build();
});
paginator.setItems(pages); event.replyEmbeds(pages.get(0)).setEphemeral(false).queue(success ->
EmbedPaginator embedPaginator = paginator.build(); success.retrieveOriginal().queue(msg -> embedPaginator.paginate(msg, 1)));
} catch (Exception e) {
event.replyEmbeds(pages.get(0)).setEphemeral(false).queue(success -> if (SDLinkConfig.INSTANCE.generalConfig.debugging)
success.retrieveOriginal().queue(msg -> embedPaginator.paginate(msg, 1))); e.printStackTrace();
}
} }
} }

View File

@@ -4,6 +4,7 @@
*/ */
package com.hypherionmc.sdlink.core.discord.commands.slash.verification; package com.hypherionmc.sdlink.core.discord.commands.slash.verification;
import com.hypherionmc.sdlink.core.config.SDLinkConfig;
import com.hypherionmc.sdlink.core.database.SDLinkAccount; import com.hypherionmc.sdlink.core.database.SDLinkAccount;
import com.hypherionmc.sdlink.core.discord.commands.slash.SDLinkSlashCommand; import com.hypherionmc.sdlink.core.discord.commands.slash.SDLinkSlashCommand;
import com.hypherionmc.sdlink.core.util.MessageUtil; import com.hypherionmc.sdlink.core.util.MessageUtil;
@@ -35,44 +36,49 @@ public class ViewVerifiedAccounts extends SDLinkSlashCommand {
@Override @Override
protected void execute(SlashCommandEvent event) { protected void execute(SlashCommandEvent event) {
EmbedPaginator.Builder paginator = MessageUtil.defaultPaginator(event); try {
EmbedPaginator.Builder paginator = MessageUtil.defaultPaginator(event);
sdlinkDatabase.reloadCollection("verifiedaccounts"); sdlinkDatabase.reloadCollection("verifiedaccounts");
List<SDLinkAccount> accounts = sdlinkDatabase.findAll(SDLinkAccount.class); List<SDLinkAccount> accounts = sdlinkDatabase.findAll(SDLinkAccount.class);
EmbedBuilder builder = new EmbedBuilder(); EmbedBuilder builder = new EmbedBuilder();
ArrayList<MessageEmbed> pages = new ArrayList<>(); ArrayList<MessageEmbed> pages = new ArrayList<>();
AtomicInteger count = new AtomicInteger(); AtomicInteger count = new AtomicInteger();
if (accounts.isEmpty()) { if (accounts.isEmpty()) {
event.reply("There are no verified accounts for this discord").setEphemeral(true).queue(); event.reply("There are no verified accounts for this discord").setEphemeral(true).queue();
return; return;
} }
MessageUtil.listBatches(accounts, 10).forEach(itm -> { MessageUtil.listBatches(accounts, 10).forEach(itm -> {
count.getAndIncrement(); count.getAndIncrement();
builder.clear(); builder.clear();
builder.setTitle("Verified Accounts - Page " + count + "/" + (int)Math.ceil(((float)accounts.size() / 10))); builder.setTitle("Verified Accounts - Page " + count + "/" + (int)Math.ceil(((float)accounts.size() / 10)));
builder.setColor(Color.GREEN); builder.setColor(Color.GREEN);
StringBuilder sBuilder = new StringBuilder(); StringBuilder sBuilder = new StringBuilder();
itm.forEach(v -> { itm.forEach(v -> {
Member member = null; Member member = null;
if (v.getDiscordID() != null && !v.getDiscordID().isEmpty()) { if (v.getDiscordID() != null && !v.getDiscordID().isEmpty()) {
member = event.getGuild().getMemberById(v.getDiscordID()); member = event.getGuild().getMemberById(v.getDiscordID());
} }
sBuilder.append(v.getUsername()).append(" -> ").append(member == null ? "Unlinked" : member.getAsMention()).append("\r\n"); sBuilder.append(v.getUsername()).append(" -> ").append(member == null ? "Unlinked" : member.getAsMention()).append("\r\n");
});
builder.setDescription(sBuilder);
pages.add(builder.build());
}); });
builder.setDescription(sBuilder);
pages.add(builder.build());
});
paginator.setItems(pages); paginator.setItems(pages);
EmbedPaginator embedPaginator = paginator.build(); EmbedPaginator embedPaginator = paginator.build();
event.replyEmbeds(pages.get(0)).setEphemeral(false).queue(success -> success.retrieveOriginal().queue(msg -> embedPaginator.paginate(msg, 1))); event.replyEmbeds(pages.get(0)).setEphemeral(false).queue(success -> success.retrieveOriginal().queue(msg -> embedPaginator.paginate(msg, 1)));
} catch (Exception e) {
if (SDLinkConfig.INSTANCE.generalConfig.debugging)
e.printStackTrace();
}
} }
} }