From f6b35109bf15125aea6d186836bc8b126ba70402 Mon Sep 17 00:00:00 2001 From: Matthew Cech Date: Sat, 2 Jan 2021 15:42:56 -0800 Subject: [PATCH] Fix for response object, and renamed ObjectBuilderFactory more appropriately. --- src/commands/general/CommandLeaderboard.java | 4 ++-- ...BuilderFactory.java => ObjectBuilder.java} | 4 ++-- src/core/Stats.java | 4 ++-- src/dataStructures/Response.java | 7 ++++++- src/dataStructures/UserInput.java | 4 ++-- src/main/Main.java | 20 +++++++++---------- src/utils/audio/AudioUtils.java | 3 +-- 7 files changed, 25 insertions(+), 21 deletions(-) rename src/core/{ObjectBuilderFactory.java => ObjectBuilder.java} (96%) diff --git a/src/commands/general/CommandLeaderboard.java b/src/commands/general/CommandLeaderboard.java index ddc8cf0..a3abb95 100644 --- a/src/commands/general/CommandLeaderboard.java +++ b/src/commands/general/CommandLeaderboard.java @@ -7,7 +7,7 @@ import core.Command; import core.Constants; import core.DatabaseManager; import core.LocStrings; -import core.ObjectBuilderFactory; +import core.ObjectBuilder; import dataStructures.KittyChannel; import dataStructures.KittyEmbed; import dataStructures.KittyGuild; @@ -98,7 +98,7 @@ public class CommandLeaderboard extends Command { // Only now that we've sorted do we do the full construction and caching of users Pair userPair = users.get(i); - KittyUser cachedUser = ObjectBuilderFactory.getKittyUser(guildID, userPair.Second); + KittyUser cachedUser = ObjectBuilder.getKittyUser(guildID, userPair.Second); if(cachedUser == null) continue; diff --git a/src/core/ObjectBuilderFactory.java b/src/core/ObjectBuilder.java similarity index 96% rename from src/core/ObjectBuilderFactory.java rename to src/core/ObjectBuilder.java index 23f047b..28054a4 100644 --- a/src/core/ObjectBuilderFactory.java +++ b/src/core/ObjectBuilder.java @@ -43,7 +43,7 @@ import utils.audio.AudioUtils; // This also minimizes the number of places JDA interacts with our codebase. // As it stands, if the object name begins with Kitty, it's constructed here. // TODO: Make all methods ID based instead of event based -public class ObjectBuilderFactory +public class ObjectBuilder { // Key: guild string id, Value: guild information private static HashMap guildCache; @@ -167,7 +167,7 @@ public class ObjectBuilderFactory else { // Construct a new guild with defaults - guild = new KittyGuild(uid, new AdminControl(event.getGuild()), emotesString, + guild = new KittyGuild(uid, new AdminControl(event.getGuild()), emotesString, new AudioUtils(event.getGuild(), playerManager), channels); DatabaseManager.instance.globalRegister(guild); guildCache.put(uid, guild); diff --git a/src/core/Stats.java b/src/core/Stats.java index f3fc254..8edb7df 100644 --- a/src/core/Stats.java +++ b/src/core/Stats.java @@ -107,12 +107,12 @@ public class Stats public int getGuildCount() { - return ObjectBuilderFactory.getGuildCount(); + return ObjectBuilder.getGuildCount(); } public int getUserCount() { - return ObjectBuilderFactory.getUserCount(); + return ObjectBuilder.getUserCount(); } public ArrayList getAllCommands() diff --git a/src/dataStructures/Response.java b/src/dataStructures/Response.java index 25f3a25..3dc9319 100644 --- a/src/dataStructures/Response.java +++ b/src/dataStructures/Response.java @@ -8,6 +8,7 @@ import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.MessageBuilder; import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; +import net.dv8tion.jda.api.utils.AttachmentOption; import utils.GlobalLog; import utils.LogFilter; @@ -72,10 +73,14 @@ public class Response embed.setThumbnail(thumbPath); message.setEmbed(embed.build()); + GlobalLog.log("We're trying to send a response that has a locally defined thumbnail file..."); + File thumbImage = new File(thumbName); if(thumbImage.exists()) { - event.getChannel().sendFile(thumbImage, thumbName, message.build()).queue(); + // Used to eb as follows: + //event.getChannel().sendFile(thumbImage, thumbName, message.build()).queue(); + event.getChannel().sendMessage(message.build()).queue(); } } else diff --git a/src/dataStructures/UserInput.java b/src/dataStructures/UserInput.java index 6a2b1ea..9f76e1d 100644 --- a/src/dataStructures/UserInput.java +++ b/src/dataStructures/UserInput.java @@ -2,7 +2,7 @@ package dataStructures; import java.util.List; -import core.ObjectBuilderFactory; +import core.ObjectBuilder; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; @@ -93,7 +93,7 @@ public class UserInput KittyUser [] KittyMentions = new KittyUser[JDAMentions.size()]; for(int i = 0; i < KittyMentions.length; i ++) { - KittyMentions [i] = ObjectBuilderFactory.getKittyUser(event.getGuild().getId(), JDAMentions.get(i).getUser().getId()); + KittyMentions [i] = ObjectBuilder.getKittyUser(event.getGuild().getId(), JDAMentions.get(i).getUser().getId()); } return KittyMentions; } diff --git a/src/main/Main.java b/src/main/Main.java index 8b98f80..8882b00 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -8,7 +8,7 @@ import core.CharacterManager; import core.CommandEnabler; import core.CommandManager; import core.DatabaseManager; -import core.ObjectBuilderFactory; +import core.ObjectBuilder; import core.RPManager; import core.Stats; import core.lua.PluginManager; @@ -43,15 +43,15 @@ public class Main extends ListenerAdapter { // Factory startup. The ordering is intentional. GlobalLog.initialize(); - databaseManager = ObjectBuilderFactory.constructDatabaseManager(); - commandManager = ObjectBuilderFactory.constructCommandManager(CommandEnabler.instance); // TODO: Untangle this singleton - stats = ObjectBuilderFactory.constructStats(commandManager); + databaseManager = ObjectBuilder.constructDatabaseManager(); + commandManager = ObjectBuilder.constructCommandManager(CommandEnabler.instance); // TODO: Untangle this singleton + stats = ObjectBuilder.constructStats(commandManager); charManager = new CharacterManager(); - rpManager = ObjectBuilderFactory.constructRPManager(); - pluginManager = ObjectBuilderFactory.constructPluginManager(); + rpManager = ObjectBuilder.constructRPManager(); + pluginManager = ObjectBuilder.constructPluginManager(); // Bot startup - kittyCore = ObjectBuilderFactory.constructKittyCore(); + kittyCore = ObjectBuilder.constructKittyCore(); } // When a message is sent in a server that kitty is in, this is what's called. @@ -63,9 +63,9 @@ public class Main extends ListenerAdapter return; // Factory objects - KittyUser user = ObjectBuilderFactory.extractUser(event); - KittyGuild guild = ObjectBuilderFactory.extractGuild(event); - KittyChannel channel = ObjectBuilderFactory.extractChannel(event); + KittyUser user = ObjectBuilder.extractUser(event); + KittyGuild guild = ObjectBuilder.extractGuild(event); + KittyChannel channel = ObjectBuilder.extractChannel(event); // Specialized uncached objects Response response = new Response(event, kittyCore); diff --git a/src/utils/audio/AudioUtils.java b/src/utils/audio/AudioUtils.java index 699669b..2fd9c96 100644 --- a/src/utils/audio/AudioUtils.java +++ b/src/utils/audio/AudioUtils.java @@ -74,11 +74,10 @@ public class AudioUtils return lastFrame != null; } - @Override public ByteBuffer provide20MsAudio() { - ByteBuffer outputBuffer = ByteBuffer.wrap(lastFrame.getData()); + ByteBuffer outputBuffer = ByteBuffer.wrap(lastFrame.getData()); return outputBuffer; }