Merge pull request 'Update CouncilChannel' (#9) from VelocityCore/CouncilChannel into main
All checks were successful
SteamWarCI Build successful

Reviewed-on: #9
Reviewed-by: Lixfel <lixfel@noreply.localhost>
This commit is contained in:
2025-01-22 09:22:58 +01:00

View File

@ -21,15 +21,15 @@ package de.steamwar.velocitycore.discord.channels;
import de.steamwar.sql.SteamwarUser;
import de.steamwar.velocitycore.discord.DiscordBot;
import it.unimi.dsi.fastutil.Pair;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Role;
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
public class CouncilChannel extends StaticMessageChannel {
@ -48,16 +48,21 @@ public class CouncilChannel extends StaticMessageChannel {
MessageCreateBuilder messageCreateBuilder = new MessageCreateBuilder();
messageCreateBuilder.setContent("# Ratsmitglieder");
for (Member member : DiscordBot.getGuild().findMembersWithRoles(role).get()) {
SteamwarUser steamwarUser = SteamwarUser.get(member.getIdLong());
if (steamwarUser == null)
continue;
messageCreateBuilder.addEmbeds(new EmbedBuilder()
.setTitle(steamwarUser.getUserName())
.setImage("https://api.steamwar.de/data/skin/" + steamwarUser.getUUID().toString())
.build());
}
DiscordBot.getGuild().findMembersWithRoles(role).get()
.stream()
.map(member -> {
SteamwarUser steamwarUser = SteamwarUser.get(member.getIdLong());
String name = steamwarUser == null ? member.getEffectiveName() : steamwarUser.getUserName();
UUID uuid = steamwarUser == null ? null : steamwarUser.getUUID();
return Pair.of(name, uuid);
})
.sorted(Comparator.comparing(Pair::key))
.forEach(pair -> {
messageCreateBuilder.addEmbeds(new EmbedBuilder()
.setTitle(pair.key())
.setImage(pair.value() == null ? null : "https://api.steamwar.de/data/skin/" + pair.value().toString())
.build());
});
return messageCreateBuilder;
}, event -> {});