Added Outfit meta and proper logging

This commit is contained in:
Aleksei 2020-07-23 18:54:20 -04:00
parent d88cd05e1b
commit 4afe83169d

View File

@ -5,11 +5,13 @@
package dev.salmonllama.fsbot.listeners; package dev.salmonllama.fsbot.listeners;
import dev.salmonllama.fsbot.config.BotConfig;
import dev.salmonllama.fsbot.database.controllers.GalleryController; import dev.salmonllama.fsbot.database.controllers.GalleryController;
import dev.salmonllama.fsbot.database.controllers.OutfitController; import dev.salmonllama.fsbot.database.controllers.OutfitController;
import dev.salmonllama.fsbot.database.models.Outfit; import dev.salmonllama.fsbot.database.models.Outfit;
import dev.salmonllama.fsbot.endpoints.imgur.ImgurAPIConnection; import dev.salmonllama.fsbot.endpoints.imgur.ImgurAPIConnection;
import org.javacord.api.entity.message.MessageAttachment; import org.javacord.api.entity.message.MessageAttachment;
import org.javacord.api.entity.message.embed.EmbedBuilder;
import org.javacord.api.event.message.MessageCreateEvent; import org.javacord.api.event.message.MessageCreateEvent;
import org.javacord.api.listener.message.MessageCreateListener; import org.javacord.api.listener.message.MessageCreateListener;
import org.javacord.api.util.logging.ExceptionLogger; import org.javacord.api.util.logging.ExceptionLogger;
@ -18,9 +20,6 @@ import java.sql.Timestamp;
public class ImageListener implements MessageCreateListener { public class ImageListener implements MessageCreateListener {
public ImageListener() {
}
@Override @Override
public void onMessageCreate(MessageCreateEvent event) { // TODO: This needs immediate help public void onMessageCreate(MessageCreateEvent event) { // TODO: This needs immediate help
// Check for valid source -> DONE -> WORKING // Check for valid source -> DONE -> WORKING
@ -59,13 +58,31 @@ public class ImageListener implements MessageCreateListener {
.setSubmitter(event.getMessageAuthor().getIdAsString()) .setSubmitter(event.getMessageAuthor().getIdAsString())
.setCreated(new Timestamp(upload.getDateTime())); .setCreated(new Timestamp(upload.getDateTime()));
GalleryController.getTag(channel.getIdAsString()).thenAccept(outfitBuilder::setTag).join(); // TODO: Wrap this around the insert, don't join no moah GalleryController.getTag(channel.getIdAsString()).thenAccept(tag -> {
outfitBuilder.setTag(tag);
Outfit outfit = outfitBuilder.build(); Outfit outfit = outfitBuilder.build();
OutfitController.insert(outfit).join();
// Log the event OutfitController.insert(outfit).thenAcceptAsync((Void) -> {
// event.getChannel().sendMessage("Outfit stored: " + outfit.toString()); // TODO: Logging. Log this to OutfitLog // Log the outfit
event.getApi().getServerTextChannelById(BotConfig.OUTFIT_LOG).ifPresentOrElse(chnl -> {
EmbedBuilder response = new EmbedBuilder()
.setTitle("Outfit Added")
.setAuthor(event.getMessageAuthor())
.setThumbnail(outfit.getLink())
.setFooter(String.format("%s | %s", outfit.getTag(), outfit.getId()))
.setUrl(outfit.getLink())
.addField("Uploaded:", outfit.getCreated().toString())
.addField("Meta:", outfit.getMeta());
chnl.sendMessage(response);
}, () -> {
// Fallback error message to me
event.getApi().getUserById(BotConfig.BOT_OWNER).thenAcceptAsync(user -> {
user.sendMessage("Could not find OUTFIT LOG");
});
});
});
});
}).exceptionally(ExceptionLogger.get()); }).exceptionally(ExceptionLogger.get());
}); });
} }