diff options
| author | Rosa <rosaontheweb@proton.me> | 2026-05-13 07:06:54 -0400 |
|---|---|---|
| committer | Rosa <rosaontheweb@proton.me> | 2026-05-13 07:06:54 -0400 |
| commit | 88cbb664a20c57a8021b132957b7503d062f2ca8 (patch) | |
| tree | 295c502d0527d359fa76d0616614361230e7f5ef /src | |
| parent | 14384dfed364e25a0956397245fc331a4bec7d10 (diff) | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/club/eviltransgenders/bookmark/BookmarksBot.java | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/src/main/java/club/eviltransgenders/bookmark/BookmarksBot.java b/src/main/java/club/eviltransgenders/bookmark/BookmarksBot.java index f5e7ca9..63ff6ca 100644 --- a/src/main/java/club/eviltransgenders/bookmark/BookmarksBot.java +++ b/src/main/java/club/eviltransgenders/bookmark/BookmarksBot.java @@ -3,34 +3,27 @@ package club.eviltransgenders.bookmark; import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionEvent; +import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; import net.dv8tion.jda.api.events.session.ReadyEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.Command; import net.dv8tion.jda.api.interactions.commands.Command.Type; import net.dv8tion.jda.api.interactions.IntegrationType; -import net.dv8tion.jda.api.interactions.InteractionContextType; import net.dv8tion.jda.api.JDABuilder; +import net.dv8tion.jda.api.components.actionrow.ActionRow; +import net.dv8tion.jda.api.components.buttons.Button; import net.dv8tion.jda.api.requests.GatewayIntent; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; public final class BookmarksBot extends ListenerAdapter { private static final Logger LOGGER = LoggerFactory.getLogger(BookmarksBot.class); - public static void main(String[] args) throws InterruptedException { - LOGGER.info("Starting bookmarks bot..."); - String token = System.getenv("DISCORD_TOKEN"); - if (token == null) { - LOGGER.error("Token not provided in environment (set DISCORD_TOKEN)"); - return; - } + private final boolean shouldReuploadCommand; - JDABuilder.createLight(token, GatewayIntent.MESSAGE_CONTENT) - .addEventListeners(new BookmarksBot()) - .build() - .awaitShutdown(); + private BookmarksBot(boolean shouldReuploadCommand) { + this.shouldReuploadCommand = shouldReuploadCommand; } @Override @@ -62,10 +55,34 @@ public final class BookmarksBot extends ListenerAdapter { .setAuthor(target.getAuthor().getName(), null, target.getAuthor().getAvatarUrl()) .setDescription(target.getContentRaw()) .build() - ).build()).queue(); + ) + .setComponents(ActionRow.of(Button.danger("remove", "Remove"))) + .build()).queue(); }); event.reply("Message bookmarked!").setEphemeral(true).queue(); } } + + @Override + public void onButtonInteraction(ButtonInteractionEvent event) { + if (event.getComponentId().equals("remove")) { + event.getMessage().delete().queue(); + event.reply("Bookmark deleted.").setEphemeral(true).queue(); + } + } + + public static void main(String[] args) throws InterruptedException { + LOGGER.info("Starting bookmarks bot..."); + String token = System.getenv("DISCORD_TOKEN"); + if (token == null) { + LOGGER.error("Token not provided in environment (set DISCORD_TOKEN)"); + return; + } + + JDABuilder.createLight(token, GatewayIntent.MESSAGE_CONTENT) + .addEventListeners(new BookmarksBot(args.length != 0 ? args[0].equals("update") : false)) + .build() + .awaitShutdown(); + } } |
