From 4e762245ea0a09011f1776297671662d045f961f Mon Sep 17 00:00:00 2001 From: Matito <77804268+MatitoDev@users.noreply.github.com> Date: Thu, 27 Mar 2025 22:20:10 +0100 Subject: [PATCH] add a permission check --- .gitignore | 1 + .../slimeball/features/highlights/HighlightListener.java | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8ca05278..cdc6ba4b 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ bin/ !.idea/encodings.xml !.idea/runConfigurations !.idea/codeStyles +.idea/slimebot.iml diff --git a/src/main/java/de/slimecloud/slimeball/features/highlights/HighlightListener.java b/src/main/java/de/slimecloud/slimeball/features/highlights/HighlightListener.java index b2253b25..28823d77 100644 --- a/src/main/java/de/slimecloud/slimeball/features/highlights/HighlightListener.java +++ b/src/main/java/de/slimecloud/slimeball/features/highlights/HighlightListener.java @@ -6,6 +6,7 @@ import de.slimecloud.slimeball.main.SlimeBot; import lombok.RequiredArgsConstructor; import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.User; @@ -57,7 +58,11 @@ public void onHighlight(@NotNull HighlightTriggeredEvent event) { for (UserSnowflake snowflake : highlight.getUsers()) { User user = bot.getJda().getUserById(snowflake.getIdLong()); - if (user != null && !author.equals(user)) { + if (user != null + && !author.equals(user) + && guild.getMember(user).hasPermission(msg.getGuildChannel(), Permission.VIEW_CHANNEL) + && guild.getMember(user).hasPermission(msg.getGuildChannel(), Permission.MESSAGE_HISTORY)) { + user.openPrivateChannel().flatMap(channel -> channel.sendMessageEmbeds(new EmbedBuilder() .setTitle("Highlight - " + highlight.getPhrase()) .setAuthor(author.getEffectiveName(), null, author.getEffectiveAvatarUrl())