Skip to content

Commit 30d5c4f

Browse files
committed
hotfix(MessageCommand): do not allow anybody to call this command
Signed-off-by: Chris Sdogkos <work@chris-sdogkos.com>
1 parent 996431f commit 30d5c4f

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

application/src/main/java/org/togetherjava/tjbot/features/messages/MessageCommand.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package org.togetherjava.tjbot.features.messages;
22

33
import net.dv8tion.jda.api.EmbedBuilder;
4+
import net.dv8tion.jda.api.Permission;
5+
import net.dv8tion.jda.api.entities.Member;
46
import net.dv8tion.jda.api.entities.Message;
57
import net.dv8tion.jda.api.entities.channel.ChannelType;
68
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
@@ -140,6 +142,15 @@ private static OptionalLong parseMessageIdAndHandle(String messageId, IReplyCall
140142
}
141143
}
142144

145+
private boolean handleChecks(Member author, IReplyCallback event) {
146+
if (!author.hasPermission(Permission.KICK_MEMBERS)) {
147+
event.reply("You can not execute this command.").setEphemeral(true).queue();
148+
return false;
149+
}
150+
151+
return true;
152+
}
153+
143154
private static void handleMessageRetrieveFailed(Throwable failure, IDeferrableCallback event,
144155
long messageId) {
145156
handleMessageRetrieveFailed(failure, event, List.of(messageId));
@@ -197,6 +208,16 @@ private static void handleActionFailed(Throwable failure, IDeferrableCallback ev
197208

198209
@Override
199210
public void onSlashCommand(SlashCommandInteractionEvent event) {
211+
Member member = event.getMember();
212+
213+
if (member == null) {
214+
return;
215+
}
216+
217+
if (!handleChecks(event.getMember(), event)) {
218+
return;
219+
}
220+
200221
switch (Subcommand.fromName(event.getSubcommandName())) {
201222
case RAW -> rawMessage(event);
202223
case POST -> postMessage(event);

0 commit comments

Comments
 (0)