diff --git a/src/main/java/wtf/beatrice/hidekobot/commands/slash/ClearChatCommand.java b/src/main/java/wtf/beatrice/hidekobot/commands/slash/ClearChatCommand.java index 1cea335..77e36bc 100644 --- a/src/main/java/wtf/beatrice/hidekobot/commands/slash/ClearChatCommand.java +++ b/src/main/java/wtf/beatrice/hidekobot/commands/slash/ClearChatCommand.java @@ -4,9 +4,12 @@ import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.MessageHistory; import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; +import net.dv8tion.jda.api.entities.emoji.Emoji; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; import net.dv8tion.jda.api.interactions.InteractionHook; import net.dv8tion.jda.api.interactions.commands.OptionMapping; +import net.dv8tion.jda.api.interactions.components.buttons.Button; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -134,17 +137,28 @@ public class ClearChatCommand } } - // log having deleted the messages. + + Button deleteButton = Button.danger("clear_delete", "Delete").withEmoji(Emoji.fromUnicode("❌")); + + // log having deleted the messages (or not). if(deleted < 1) { - replyInteraction.editOriginal("\uD83D\uDE22 Couldn't clear any message!").queue(); + replyInteraction.editOriginal("\uD83D\uDE22 Couldn't clear any message!") + .setActionRow(deleteButton).queue(); } else if(deleted == 1) { - replyInteraction.editOriginal("✂ Cleared 1 message!").queue(); + replyInteraction.editOriginal("✂ Cleared 1 message!") + .setActionRow(deleteButton).queue(); } else { - replyInteraction.editOriginal("✂ Cleared " + deleted + " messages!").queue(); + replyInteraction.editOriginal("✂ Cleared " + deleted + " messages!") + .setActionRow(deleteButton).queue(); } } + } + public void deleteButton(ButtonInteractionEvent event) + { + // todo: permissions check + event.getInteraction().getMessage().delete().queue(); } } diff --git a/src/main/java/wtf/beatrice/hidekobot/listeners/ButtonInteractionListener.java b/src/main/java/wtf/beatrice/hidekobot/listeners/ButtonInteractionListener.java index bcc0e07..e26b1fe 100644 --- a/src/main/java/wtf/beatrice/hidekobot/listeners/ButtonInteractionListener.java +++ b/src/main/java/wtf/beatrice/hidekobot/listeners/ButtonInteractionListener.java @@ -2,6 +2,7 @@ package wtf.beatrice.hidekobot.listeners; import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; +import wtf.beatrice.hidekobot.commands.slash.ClearChatCommand; import wtf.beatrice.hidekobot.commands.slash.CoinFlipCommand; public class ButtonInteractionListener extends ListenerAdapter @@ -14,7 +15,10 @@ public class ButtonInteractionListener extends ListenerAdapter switch (event.getComponentId().toLowerCase()) { // coinflip - case "reflip" -> new CoinFlipCommand().buttonReflip(event); + case "coinflip_reflip" -> new CoinFlipCommand().buttonReFlip(event); + + // clearchat command + case "clear_delete" -> new ClearChatCommand().deleteButton(event); }