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; package de.steamwar.velocitycore.discord.channels;
import de.steamwar.sql.SteamwarUser; import de.steamwar.sql.SteamwarUser;
import de.steamwar.velocitycore.VelocityCore;
import de.steamwar.velocitycore.discord.DiscordBot; import de.steamwar.velocitycore.discord.DiscordBot;
import it.unimi.dsi.fastutil.Pair; import it.unimi.dsi.fastutil.Pair;
import net.dv8tion.jda.api.EmbedBuilder; 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.Role;
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel; import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder;
import java.util.Comparator; import java.util.*;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
public class CouncilChannel extends StaticMessageChannel { public class CouncilChannel extends StaticMessageChannel {
@@ -45,8 +44,15 @@ public class CouncilChannel extends StaticMessageChannel {
MessageCreateBuilder messageCreateBuilder = new MessageCreateBuilder(); MessageCreateBuilder messageCreateBuilder = new MessageCreateBuilder();
messageCreateBuilder.setContent("# Ratsmitglieder"); messageCreateBuilder.setContent("# Ratsmitglieder");
DiscordBot.getGuild().findMembersWithRoles(role).get() List<Member> members;
.stream() 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 -> { .map(member -> {
SteamwarUser steamwarUser = SteamwarUser.get(member.getIdLong()); SteamwarUser steamwarUser = SteamwarUser.get(member.getIdLong());
String name = steamwarUser == null ? member.getEffectiveName() : steamwarUser.getUserName(); 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.MessageCreateBuilder;
import net.dv8tion.jda.api.utils.messages.MessageEditData; import net.dv8tion.jda.api.utils.messages.MessageEditData;
import java.util.concurrent.TimeoutException;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Supplier; import java.util.function.Supplier;
@@ -189,7 +189,7 @@ public class ChatListener extends BasicListener {
if(format.equals("CHAT_GLOBAL")) { if(format.equals("CHAT_GLOBAL")) {
DiscordBot.withBot(bot -> chatToReciever(bot.getIngameChat(), msgReceiver, user, format, coloredMessage)); DiscordBot.withBot(bot -> chatToReciever(bot.getIngameChat(), msgReceiver, user, format, coloredMessage));
} else if (format.equals("CHAT_SERVERTEAM")) { } 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) { } else if (noReceiver) {
sender.system("CHAT_NO_RECEIVER"); sender.system("CHAT_NO_RECEIVER");
} }