Improve ChatListener for STC Chat

Add debug output for DiscordChannel
Fix CouncilChannel
This commit is contained in:
2025-11-07 08:34:19 +01:00
parent 98ca9e852c
commit 160f982955
3 changed files with 14 additions and 7 deletions
@@ -20,17 +20,16 @@
package de.steamwar.velocitycore.discord.channels;
import de.steamwar.sql.SteamwarUser;
import de.steamwar.velocitycore.VelocityCore;
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.Comparator;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
import java.util.*;
public class CouncilChannel extends StaticMessageChannel {
@@ -45,8 +44,15 @@ public class CouncilChannel extends StaticMessageChannel {
MessageCreateBuilder messageCreateBuilder = new MessageCreateBuilder();
messageCreateBuilder.setContent("# Ratsmitglieder");
DiscordBot.getGuild().findMembersWithRoles(role).get()
.stream()
List<Member> members;
try {
members = DiscordBot.getGuild().findMembersWithRoles(role).get();
} catch (Exception e) {
VelocityCore.getLogger().warning("Could not get members for " + role.getName());
return messageCreateBuilder;
}
members.stream()
.map(member -> {
SteamwarUser steamwarUser = SteamwarUser.get(member.getIdLong());
String name = steamwarUser == null ? member.getEffectiveName() : steamwarUser.getUserName();
@@ -26,6 +26,7 @@ import net.dv8tion.jda.api.events.interaction.component.GenericComponentInteract
import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder;
import net.dv8tion.jda.api.utils.messages.MessageEditData;
import java.util.concurrent.TimeoutException;
import java.util.function.Consumer;
import java.util.function.Supplier;
@@ -189,7 +189,7 @@ public class ChatListener extends BasicListener {
if(format.equals("CHAT_GLOBAL")) {
DiscordBot.withBot(bot -> chatToReciever(bot.getIngameChat(), msgReceiver, user, format, coloredMessage));
} else if (format.equals("CHAT_SERVERTEAM")) {
DiscordBot.withBot(bot -> chatToReciever(bot.getServerTeamChat(), msgReceiver, user, format, coloredMessage));
DiscordBot.withBot(bot -> chatToReciever(bot.getServerTeamChat(), msgReceiver, user, "CHAT_GLOBAL", coloredMessage));
} else if (noReceiver) {
sender.system("CHAT_NO_RECEIVER");
}