From 3e270643e8e985f94e0d10f43a579c5dd0d8e85a Mon Sep 17 00:00:00 2001 From: TheBreadBeard Date: Wed, 27 Nov 2024 19:18:41 +0100 Subject: [PATCH 1/3] Add private ticket log --- .../discord/listeners/DiscordTicketHandler.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java index a9592c6c..27a20fb6 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java @@ -126,6 +126,14 @@ public class DiscordTicketHandler extends ListenerAdapter { SplitUtil.Strategy.ANYWHERE ).stream().map(message -> new MessageCreateBuilder().setEmbeds(embedBuilder.setDescription(message).build())).forEach(builder -> logChannel.sendMessage(builder.build()).queue()); + SplitUtil.split( + messages.stream() + .map(StringBuilder::toString).collect(Collectors.joining()), + 2000, + SplitUtil.Strategy.NEWLINE, + SplitUtil.Strategy.ANYWHERE + ).stream().map(message -> new MessageCreateBuilder().setEmbeds(embedBuilder.setDescription(message).build())).forEach(builder -> logChannel.sendMessage(builder.build()).queue()); + Chatter.serverteam().prefixless("DISCORD_TICKET_CLOSED", channel.getName()); channel.delete().reason("Closed").queue(); } From b3cd8d843f5da01c75161966473521b8a27df1f3 Mon Sep 17 00:00:00 2001 From: TheBreadBeard Date: Wed, 27 Nov 2024 19:34:19 +0100 Subject: [PATCH 2/3] Add private ticket log --- .../velocitycore/discord/listeners/DiscordTicketHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java index 27a20fb6..d797a6f3 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java @@ -132,7 +132,7 @@ public class DiscordTicketHandler extends ListenerAdapter { 2000, SplitUtil.Strategy.NEWLINE, SplitUtil.Strategy.ANYWHERE - ).stream().map(message -> new MessageCreateBuilder().setEmbeds(embedBuilder.setDescription(message).build())).forEach(builder -> logChannel.sendMessage(builder.build()).queue()); + ).stream().map(message -> new MessageCreateBuilder().setEmbeds(embedBuilder.setDescription(message).build())).forEach(builder -> user.openPrivateChannel().queue(privateChannel -> privateChannel.sendMessage(builder.build()).queue())); Chatter.serverteam().prefixless("DISCORD_TICKET_CLOSED", channel.getName()); channel.delete().reason("Closed").queue(); From 7eba9231d5eece2144af468b175df967a707c5b9 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 28 Dec 2024 17:15:57 +0100 Subject: [PATCH 3/3] Fix build issues --- .../listeners/DiscordTicketHandler.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java index d797a6f3..f32b4767 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTicketHandler.java @@ -41,12 +41,12 @@ import net.dv8tion.jda.api.interactions.components.ActionRow; import net.dv8tion.jda.api.interactions.components.buttons.Button; import net.dv8tion.jda.api.utils.SplitUtil; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; +import net.dv8tion.jda.api.utils.messages.MessageCreateData; import net.kyori.adventure.text.event.ClickEvent; import org.jetbrains.annotations.NotNull; import java.awt.*; import java.time.Instant; -import java.util.Collections; import java.util.LinkedList; import java.util.stream.Collectors; @@ -112,9 +112,12 @@ public class DiscordTicketHandler extends ListenerAdapter { .setTimestamp(Instant.now()) .setTitle(event.getChannel().getName()); + User user; if(channel.getTopic() != null && !channel.getTopic().isEmpty()) { - User user = event.getJDA().retrieveUserById(channel.getTopic()).complete(); + user = event.getJDA().retrieveUserById(channel.getTopic()).complete(); embedBuilder.setAuthor(user.getName(), null, user.getAvatarUrl()); + } else { + user = null; } TextChannel logChannel = event.getGuild().getTextChannelById(TICKET_LOG); @@ -124,15 +127,14 @@ public class DiscordTicketHandler extends ListenerAdapter { 2000, SplitUtil.Strategy.NEWLINE, SplitUtil.Strategy.ANYWHERE - ).stream().map(message -> new MessageCreateBuilder().setEmbeds(embedBuilder.setDescription(message).build())).forEach(builder -> logChannel.sendMessage(builder.build()).queue()); - - SplitUtil.split( - messages.stream() - .map(StringBuilder::toString).collect(Collectors.joining()), - 2000, - SplitUtil.Strategy.NEWLINE, - SplitUtil.Strategy.ANYWHERE - ).stream().map(message -> new MessageCreateBuilder().setEmbeds(embedBuilder.setDescription(message).build())).forEach(builder -> user.openPrivateChannel().queue(privateChannel -> privateChannel.sendMessage(builder.build()).queue())); + ).stream().map(message -> new MessageCreateBuilder().setEmbeds(embedBuilder.setDescription(message).build())) + .forEach(builder -> { + MessageCreateData createData = builder.build(); + logChannel.sendMessage(createData).queue(); + if (user != null) { + user.openPrivateChannel().queue(privateChannel -> privateChannel.sendMessage(createData).queue()); + } + }); Chatter.serverteam().prefixless("DISCORD_TICKET_CLOSED", channel.getName()); channel.delete().reason("Closed").queue();