From fbe9b9eb7a462b42f235d100811b377659101b3c Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sun, 28 Dec 2025 19:44:52 -0800 Subject: implement basic file retrieval --- src/main/java/com/pinapelz/Retriever.java | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/com/pinapelz/Retriever.java (limited to 'src/main/java/com/pinapelz/Retriever.java') diff --git a/src/main/java/com/pinapelz/Retriever.java b/src/main/java/com/pinapelz/Retriever.java new file mode 100644 index 0000000..1d78785 --- /dev/null +++ b/src/main/java/com/pinapelz/Retriever.java @@ -0,0 +1,34 @@ +package com.pinapelz; + +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; + +import java.util.concurrent.CompletableFuture; + +public class Retriever { + + private final JDA jda; + + public Retriever(JDA jda) { + this.jda = jda; + } + + public String getFileUrl(String channelId, String messageId, String fileName) { + TextChannel channel = jda.getTextChannelById(channelId); + if (channel == null) { + throw new RuntimeException("Channel not found or deleted"); + } + System.out.println(channelId + " " + messageId + fileName); + + Message message = channel.retrieveMessageById(messageId).complete(); + + for (Message.Attachment file : message.getAttachments()) { + if (file.getFileName().equals(fileName)) { + return file.getUrl(); + } + } + + throw new RuntimeException("Matching attachment not found"); + } +} \ No newline at end of file -- cgit v1.2.3