From cccdf9bc07e971948fcf301d0f16556321633341 Mon Sep 17 00:00:00 2001 From: chocololat Date: Sun, 6 Aug 2023 13:11:08 +0200 Subject: [PATCH 01/13] add: RegisterCommand --- .../jdabot/commands/game/RegisterCommand.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java diff --git a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java b/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java new file mode 100644 index 0000000..e059f75 --- /dev/null +++ b/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java @@ -0,0 +1,61 @@ +package org.virep.jdabot.commands.game; + +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.interactions.commands.build.Commands; +import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; +import org.virep.jdabot.database.Database; +import org.virep.jdabot.slashcommandhandler.Command; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Collections; +import java.util.List; + +public class RegisterCommand implements Command { + @Override + public String getName() { + return "register"; + } + + @Override + public SlashCommandData getCommandData() { + return Commands.slash(getName(), "Register and start your Melyca Adventure!"); + } + + @Override + public List getBotPermissions() { + return Collections.emptyList(); + } + + @Override + public boolean isDev() { + return true; + } + + @Override + public void execute(SlashCommandInteractionEvent event) { + try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { + statement.setString(1, event.getUser().getId()); + + ResultSet result = statement.executeQuery(); + + if (result.first()) { + event.reply("X - You are already registered !").queue(); + + return; + } + + PreparedStatement insertStatement = connection.prepareStatement("INSERT INTO inventory (userID) VALUES (?)"); + insertStatement.setString(1, event.getUser().getId()); + + insertStatement.executeUpdate(); + + event.reply("V - You have been successfully registered ! Welcome to Melyca.").queue(); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } +} From 2265aed0aea039eeddb56ddf415dc9b8632bee66 Mon Sep 17 00:00:00 2001 From: chocololat Date: Sun, 6 Aug 2023 16:10:12 +0200 Subject: [PATCH 02/13] add: InventoryCommand --- .../commands/game/InventoryCommand.java | 102 +++++++++++++++ .../SelectMenuInteractionListener.java | 117 ++++++++++++++++++ src/main/resources/items.json | 23 ++++ src/main/resources/lang.json | 50 +++++++- 4 files changed, 286 insertions(+), 6 deletions(-) create mode 100644 src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java create mode 100644 src/main/resources/items.json diff --git a/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java b/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java new file mode 100644 index 0000000..961a290 --- /dev/null +++ b/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java @@ -0,0 +1,102 @@ +package org.virep.jdabot.commands.game; + +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.interactions.commands.build.Commands; +import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; +import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; +import org.json.JSONObject; +import org.json.JSONTokener; +import org.virep.jdabot.commands.games.ActivityCommand; +import org.virep.jdabot.database.Database; +import org.virep.jdabot.language.Language; +import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.utils.ErrorManager; + +import java.awt.*; +import java.io.InputStream; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class InventoryCommand implements Command { + @Override + public String getName() { + return "inventory"; + } + + @Override + public SlashCommandData getCommandData() { + return Commands.slash(getName(), "Displays your Game Inventory"); + } + + @Override + public List getBotPermissions() { + List perms = new ArrayList<>(); + Collections.addAll(perms, Permission.MESSAGE_EMBED_LINKS); + + return perms; + } + + @Override + public boolean isDev() { + return true; + } + + //TODO: Don't display resources the player doesn't have + @Override + public void execute(SlashCommandInteractionEvent event) { + Guild guild = event.getGuild(); + + try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { + statement.setString(1, event.getUser().getId()); + + ResultSet result = statement.executeQuery(); + + if (!result.first()) { + event.reply(Language.getString("INVENTORY_NOT_REGISTERED", guild)).queue(); + return; + } + + InputStream in = ActivityCommand.class.getResourceAsStream("/items.json"); + + JSONTokener tokener = new JSONTokener(in); + JSONObject itemObject = new JSONObject(tokener); + + MessageEmbed embed = new EmbedBuilder() + .setTitle(String.format(Language.getString("INVENTORY_EMBED_GENERAL_TITLE", guild), event.getUser().getName())) + .setColor(Color.RED) + .addField("General", Language.getString("INVENTORY_EMBED_GENERAL_FIELD_ONE", guild).formatted(result.getInt("level"), result.getInt("xp"), 0, result.getInt("mana"), 100, result.getInt("hp"), 100), true) + .addField("Items", Language.getString("INVENTORY_EMBED_GENERAL_FIELD_ITEMS", guild).formatted( + itemObject.getJSONObject("pickaxe").getString(String.valueOf(result.getInt("pickaxe"))), + itemObject.getJSONObject("shovel").getString(String.valueOf(result.getInt("shovel"))), + itemObject.getJSONObject("axe").getString(String.valueOf(result.getInt("axe"))), + itemObject.getJSONObject("sword").getString(String.valueOf(result.getInt("sword"))), + itemObject.getJSONObject("shield").getString(String.valueOf(result.getInt("shield"))), + itemObject.getJSONObject("jetpack").getString(String.valueOf(result.getInt("jetpack"))), + itemObject.getJSONObject("summonable").getString(String.valueOf(result.getInt("summonable"))) + ), false) + .setTimestamp(Instant.now()) + .build(); + + StringSelectMenu selectMenu = StringSelectMenu.create("selectMenu:inventoryMenu") + .addOption(Language.getString("INVENTORY_SELECTMENU_GENERAL_TITLE", guild), "selectMenu:inventoryMenu:general", Language.getString("INVENTORY_SELECTMENU_GENERAL_DESCRIPTION", guild)) + .addOption(Language.getString("INVENTORY_SELECTMENU_EXTRACTED_TITLE", guild), "selectMenu:inventoryMenu:extracted", Language.getString("INVENTORY_SELECTMENU_EXTRACTED_DESCRIPTION", guild)) + .addOption(Language.getString("INVENTORY_SELECTMENU_INDUSTRIAL_TITLE", guild), "selectMenu:inventoryMenu:industrial", Language.getString("INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION", guild)) + .setMinValues(1) + .build(); + + event.replyEmbeds(embed).addActionRow(selectMenu).queue(); + } catch (SQLException e) { + ErrorManager.handle(e, event); + } + } +} diff --git a/src/main/java/org/virep/jdabot/listeners/SelectMenuInteractionListener.java b/src/main/java/org/virep/jdabot/listeners/SelectMenuInteractionListener.java index e228079..166a719 100644 --- a/src/main/java/org/virep/jdabot/listeners/SelectMenuInteractionListener.java +++ b/src/main/java/org/virep/jdabot/listeners/SelectMenuInteractionListener.java @@ -8,13 +8,16 @@ import net.dv8tion.jda.api.interactions.components.ActionRow; import net.dv8tion.jda.api.interactions.components.selections.SelectOption; import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; +import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; import org.json.JSONObject; import org.json.JSONTokener; +import org.virep.jdabot.commands.games.ActivityCommand; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; import org.virep.jdabot.utils.ErrorManager; +import java.awt.*; import java.io.InputStream; import java.sql.Connection; import java.sql.PreparedStatement; @@ -29,6 +32,9 @@ import java.util.Objects; public class SelectMenuInteractionListener extends ListenerAdapter { + InputStream extractedInputStream = ActivityCommand.class.getResourceAsStream("/extractedResources.json"); + InputStream industrialInputStream = ActivityCommand.class.getResourceAsStream("/industrialResources.json"); + @Override public void onStringSelectInteraction(StringSelectInteractionEvent event) { Guild guild = event.getGuild(); @@ -146,5 +152,116 @@ public void onStringSelectInteraction(StringSelectInteractionEvent event) { event.getInteraction().editMessageEmbeds(embed).queue(); } + + if (event.getSelectMenu().getId().equals("selectMenu:inventoryMenu")) { + String value = event.getSelectedOptions().get(0).getValue(); + MessageEmbed baseEmbed = event.getMessage().getEmbeds().get(0); + MessageEmbed embed = null; + + EmbedBuilder embedBuilder = new EmbedBuilder() + .setColor(Color.RED) + .setTimestamp(Instant.now()); + + if (value.equals("selectMenu:inventoryMenu:general")) { + if (baseEmbed.getTitle().contains("General Information") || baseEmbed.getTitle().contains("Informations Générales")) embed = baseEmbed; + else { + try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { + statement.setString(1, event.getUser().getId()); + + ResultSet result = statement.executeQuery(); + + if (!result.first()) { + event.reply(Language.getString("INVENTORY_NOT_REGISTERED", guild)).queue(); + return; + } + InputStream in = ActivityCommand.class.getResourceAsStream("/items.json"); + + JSONTokener tokener = new JSONTokener(in); + JSONObject itemObject = new JSONObject(tokener); + + embedBuilder + .setTitle(String.format(Language.getString("INVENTORY_EMBED_GENERAL_TITLE", guild), event.getUser().getName())) + .addField("General", Language.getString("INVENTORY_EMBED_GENERAL_FIELD_ONE", guild).formatted(result.getInt("level"), result.getInt("xp"), 0, result.getInt("mana"), 100, result.getInt("hp"), 100), true) + .addField("Items", Language.getString("INVENTORY_EMBED_GENERAL_FIELD_ITEMS", guild).formatted( + itemObject.getJSONObject("pickaxe").getString(String.valueOf(result.getInt("pickaxe"))), + itemObject.getJSONObject("shovel").getString(String.valueOf(result.getInt("shovel"))), + itemObject.getJSONObject("axe").getString(String.valueOf(result.getInt("axe"))), + itemObject.getJSONObject("sword").getString(String.valueOf(result.getInt("sword"))), + itemObject.getJSONObject("shield").getString(String.valueOf(result.getInt("shield"))), + itemObject.getJSONObject("jetpack").getString(String.valueOf(result.getInt("jetpack"))), + itemObject.getJSONObject("summonable").getString(String.valueOf(result.getInt("summonable"))) + ), false); + embed = embedBuilder.build(); + + } catch (SQLException e) { + ErrorManager.handleNoEvent(e); + } + } + } else if (value.equals("selectMenu:inventoryMenu:extracted")) { + if (baseEmbed.getTitle().contains("Extracted Resources") || baseEmbed.getTitle().contains("Ressources Basiques")) embed = baseEmbed; + else { + try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { + statement.setString(1, event.getUser().getId()); + + ResultSet result = statement.executeQuery(); + + if (!result.first()) { + event.reply(Language.getString("INVENTORY_NOT_REGISTERED", guild)).queue(); + return; + } + + embedBuilder.setTitle(String.format(Language.getString("INVENTORY_EMBED_EXTRACTED_TITLE", guild), event.getUser().getName())); + embedBuilder.addField(Language.getString("INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_TITLE", guild), Language.getString("INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_VALUE", guild).formatted(result.getInt("oak_wood"), result.getInt("birch_wood")), true); + embedBuilder.addField(Language.getString("INVENTORY_EMBED_EXTRACTED_FIELD_STONE_TITLE", guild), Language.getString("INVENTORY_EMBED_EXTRACTED_FIELD_STONE_VALUE", guild).formatted(result.getInt("cobblestone")), true); + embedBuilder.addField(Language.getString("INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_TITLE", guild), Language.getString("INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_VALUE", guild).formatted( + result.getInt("iron"), + result.getInt("gold"), + result.getInt("diamond"), + result.getInt("emerald"), + result.getInt("obsidian"), + result.getInt("copper"), + result.getInt("cobalt"), + result.getInt("aluminum"), + result.getInt("tin"), + result.getInt("ardite") + ), true); + + embed = embedBuilder.build(); + } catch (SQLException e) { + ErrorManager.handleNoEvent(e); + } + + } + } else if (value.equals("selectMenu:inventoryMenu:industrial")) { + if (baseEmbed.getTitle().contains("Industrial Resources") || baseEmbed.getTitle().contains("Ressources Industrielles")) embed = baseEmbed; + else { + try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { + statement.setString(1, event.getUser().getId()); + + ResultSet result = statement.executeQuery(); + + if (!result.first()) { + event.reply(Language.getString("INVENTORY_NOT_REGISTERED", guild)).queue(); + return; + } + + embedBuilder.setTitle(String.format(Language.getString("INVENTORY_EMBED_INDUSTRIAL_TITLE", guild), event.getUser().getName())); + embedBuilder.addField(Language.getString("INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_TITLE", guild), Language.getString("INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_VALUE", guild).formatted(result.getInt("oil")), true); + embedBuilder.addField(Language.getString("INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_TITLE", guild), Language.getString("INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_VALUE", guild).formatted( + result.getInt("manyullyn"), + result.getInt("bronze"), + result.getInt("alumite"), + result.getInt("aluminum_brass") + ), true); + + embed = embedBuilder.build(); + } catch (SQLException e) { + ErrorManager.handleNoEvent(e); + } + } + } + + event.getInteraction().editMessageEmbeds(embed).queue(); + } } } diff --git a/src/main/resources/items.json b/src/main/resources/items.json new file mode 100644 index 0000000..edc7f66 --- /dev/null +++ b/src/main/resources/items.json @@ -0,0 +1,23 @@ +{ + "pickaxe": { + "0": "N/A" + }, + "shovel": { + "0": "N/A" + }, + "axe": { + "0": "N/A" + }, + "sword": { + "0": "N/A" + }, + "shield": { + "0": "N/A" + }, + "jetpack": { + "0": "N/A" + }, + "summonable": { + "0": "N/A" + } +} \ No newline at end of file diff --git a/src/main/resources/lang.json b/src/main/resources/lang.json index 60aef57..f4a5b7d 100644 --- a/src/main/resources/lang.json +++ b/src/main/resources/lang.json @@ -54,9 +54,28 @@ "REACTIONROLE_REMOVE_NOROLE": "\u274C - Aucun rôle n'a été configuré pour cet emoji avec le reaction role.", "REACTIONROLE_REMOVE_REMOVED": "\u2705 - Le role configuré pour cet emoji avec le reaction role a bien été retiré.", - "TWITTER_REMOVE_DELETED": "\u2705 - Les notifications Twitter pour **%TWITTERUSER%** ont été supprimées.", - "TWITTER_ADD_WRONGCHANNEL": "\u274C - Vous devez spécifier un salon textuel.", - "TWITTER_REMOVE_ADDED": "\u2705 - Les notifications Twitter pour **%TWITTERUSER%** ont été ajoutées.", + "INVENTORY_NOT_REGISTERED": "❌ - Vous n'êtes pas inscrit.", + "INVENTORY_EMBED_GENERAL_TITLE": "Inventaire de %s - Informations Générales", + "INVENTORY_EMBED_GENERAL_FIELD_ONE": "❓ Niveau: %d (XP: %d, %d %%)\n❓ Mana: %d/%d\n❓ Points de vie: %d/%d", + "INVENTORY_EMBED_GENERAL_FIELD_ITEMS": "❓Pioche: %s\n❓Pelle: %s\n❓Hache: %s\n❓Epee: %s\n❓Bouclier: %s\n❓Jetpack: %s\n❓Summonable: %s", + "INVENTORY_EMBED_EXTRACTED_TITLE": "Inventaire de %s - Ressources Basiques", + "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_TITLE": "Bois", + "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_VALUE": "❓Bois de chêne: %d\n❓Bois de bouleau: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_TITLE": "Pierre", + "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_VALUE": "❓Cobblestone: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_TITLE": "Minerais", + "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_VALUE": "❓Fer: %d\n❓Or: %d\n❓Diamant: %d\n❓Emeraude: %d\n❓Obsidienne: %d\n❓Cuivre: %d\n❓Cobalt: %d\n❓Aluminium: %d\n❓Etain: %d\n❓Ardite: %d", + "INVENTORY_EMBED_INDUSTRIAL_TITLE": "Inventaire de %s - Ressources Industrielles", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_TITLE": "Liquides", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_VALUE": "❓Pétrole: %d", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_TITLE": "Minéraux d'Alliages", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_VALUE": "❓Manyullyn: %d\n❓Bronze: %d\n❓Alumite: %d\n❓Aluminum Brass: %d", + "INVENTORY_SELECTMENU_GENERAL_TITLE": "Informations Générales", + "INVENTORY_SELECTMENU_GENERAL_DESCRIPTION": "Points de vie, Niveau, Mana, etc...", + "INVENTORY_SELECTMENU_EXTRACTED_TITLE": "Ressources Basiques", + "INVENTORY_SELECTMENU_EXTRACTED_DESCRIPTION": "Bois, Pierre, Terre, etc...", + "INVENTORY_SELECTMENU_INDUSTRIAL_TITLE": "Ressources Industrielles", + "INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION": "Pétroles, Ressources de machinerie, etc...", "ACTIVITY_NOEXIST": "\u274C - Cette activité n'existe apparemment pas, veuillez signaler l'erreur.", "ACTIVITY_BOOSTREQUIRED": "\u274C - Vous devez avoir un niveau de boost égal ou supérieur a 1.", @@ -399,9 +418,28 @@ "REACTIONROLE_REMOVE_NOROLE": "\u274C - No role has been configured for this emoji in the reaction role.", "REACTIONROLE_REMOVE_REMOVED": "\u2705 - The role configured for this emoji in the reaction role has been cleared.", - "TWITTER_REMOVE_DELETED": "\u2705 - The Twitter Notifier for **%TWITTERUSER%** has been deleted.", - "TWITTER_ADD_WRONGCHANNEL": "\u274C - You need to specify a text channel.", - "TWITTER_REMOVE_ADDED": "\u2705 - The Twitter Notifier for **%TWITTERUSER%** has been added.", + "INVENTORY_NOT_REGISTERED": "❌ - You are not registered.", + "INVENTORY_EMBED_GENERAL_TITLE": "%s's inventory - General Information", + "INVENTORY_EMBED_GENERAL_FIELD_ONE": "❓ Level: %d (XP: %d, %d %%)\n❓ Mana: %d/%d\n❓ Health Points: %d/%d", + "INVENTORY_EMBED_GENERAL_FIELD_ITEMS": "❓Pickaxe: %s\n❓Shovel: %s\n❓Axe: %s\n❓Sword: %s\n❓Shield: %s\n❓Jetpack: %s\n❓Summonable: %s", + "INVENTORY_EMBED_EXTRACTED_TITLE": "%s's inventory - Extracted Resources", + "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_TITLE": "Woods", + "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_VALUE": "❓Oak Wood: %d\n❓Birch Wood: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_TITLE": "Stone", + "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_VALUE": "❓Cobblestone: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_TITLE": "Minerals", + "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_VALUE": "❓Iron: %d\n❓Gold: %d\n❓Diamond: %d\n❓Emerald: %d\n❓Obsidian: %d\n❓Copper: %d\n❓Cobalt: %d\n❓Aluminum: %d\n❓Tin: %d\n❓Ardite: %d", + "INVENTORY_EMBED_INDUSTRIAL_TITLE": "%s's inventory - Industrial Resources", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_TITLE": "Liquids", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_VALUE": "❓Oil: %d", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_TITLE": "Alloy Minerals", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_VALUE": "❓Manyullyn: %d\n❓Bronze: %d\n❓Alumite: %d\n❓Aluminum Brass: %d", + "INVENTORY_SELECTMENU_GENERAL_TITLE": "General Information", + "INVENTORY_SELECTMENU_GENERAL_DESCRIPTION": "Health Points, Level, Mana, etc...", + "INVENTORY_SELECTMENU_EXTRACTED_TITLE": "Extracted Resources", + "INVENTORY_SELECTMENU_EXTRACTED_DESCRIPTION": "Wood, Cobble, Dirt, etc...", + "INVENTORY_SELECTMENU_INDUSTRIAL_TITLE": "Industrial Resources", + "INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION": "Oil, Machinery Resources, etc...", "ACTIVITY_NOEXIST": "\u274C - This activity somehow doesn't exist, please report the error.", "ACTIVITY_BOOSTREQUIRED": "\u274C - You must be at least Boost Level 1 to start this activity.", From abe53e6cedf2b5b33e27023471ddba2918cbee62 Mon Sep 17 00:00:00 2001 From: chocololat Date: Sun, 6 Aug 2023 16:15:02 +0200 Subject: [PATCH 03/13] ref(RegisterCommand): add i18n --- .../org/virep/jdabot/commands/game/RegisterCommand.java | 8 ++++++-- src/main/resources/lang.json | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java b/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java index e059f75..ce6a9c9 100644 --- a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java +++ b/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java @@ -1,10 +1,12 @@ package org.virep.jdabot.commands.game; import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.database.Database; +import org.virep.jdabot.language.Language; import org.virep.jdabot.slashcommandhandler.Command; import java.sql.Connection; @@ -37,13 +39,15 @@ public boolean isDev() { @Override public void execute(SlashCommandInteractionEvent event) { + Guild guild = event.getGuild(); + try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { statement.setString(1, event.getUser().getId()); ResultSet result = statement.executeQuery(); if (result.first()) { - event.reply("X - You are already registered !").queue(); + event.reply(Language.getString("REGISTER_ALREADY_REGISTERED", guild)).queue(); return; } @@ -53,7 +57,7 @@ public void execute(SlashCommandInteractionEvent event) { insertStatement.executeUpdate(); - event.reply("V - You have been successfully registered ! Welcome to Melyca.").queue(); + event.reply(Language.getString("REGISTER_REGISTERED", guild)).queue(); } catch (SQLException e) { throw new RuntimeException(e); } diff --git a/src/main/resources/lang.json b/src/main/resources/lang.json index f4a5b7d..f4348bc 100644 --- a/src/main/resources/lang.json +++ b/src/main/resources/lang.json @@ -77,6 +77,9 @@ "INVENTORY_SELECTMENU_INDUSTRIAL_TITLE": "Ressources Industrielles", "INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION": "Pétroles, Ressources de machinerie, etc...", + "REGISTER_ALREADY_REGISTERED": "❌ - Vous êtes déjà inscrit !", + "REGISTER_REGISTERED": "✅ - Vous avez bien été inscrit ! Bienvenue dans le monde de Melyca.", + "ACTIVITY_NOEXIST": "\u274C - Cette activité n'existe apparemment pas, veuillez signaler l'erreur.", "ACTIVITY_BOOSTREQUIRED": "\u274C - Vous devez avoir un niveau de boost égal ou supérieur a 1.", "ACTIVITY_EMBED_REQUIRED": "Niveau Nitro Boost requis: ", @@ -441,6 +444,9 @@ "INVENTORY_SELECTMENU_INDUSTRIAL_TITLE": "Industrial Resources", "INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION": "Oil, Machinery Resources, etc...", + "REGISTER_ALREADY_REGISTERED": "❌ - You're already registered !", + "REGISTER_REGISTERED": "✅ - You've been successfully registered ! Welcome to the World of Melyca.", + "ACTIVITY_NOEXIST": "\u274C - This activity somehow doesn't exist, please report the error.", "ACTIVITY_BOOSTREQUIRED": "\u274C - You must be at least Boost Level 1 to start this activity.", "ACTIVITY_EMBED_REQUIRED": "Required Nitro Boost Level: ", From 3e1c4652f914f824ad493333caf016a6b76564aa Mon Sep 17 00:00:00 2001 From: chocololat Date: Sun, 6 Aug 2023 17:14:00 +0200 Subject: [PATCH 04/13] ref: added emojis --- src/main/resources/lang.json | 40 ++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/main/resources/lang.json b/src/main/resources/lang.json index f4348bc..e7fb132 100644 --- a/src/main/resources/lang.json +++ b/src/main/resources/lang.json @@ -54,22 +54,22 @@ "REACTIONROLE_REMOVE_NOROLE": "\u274C - Aucun rôle n'a été configuré pour cet emoji avec le reaction role.", "REACTIONROLE_REMOVE_REMOVED": "\u2705 - Le role configuré pour cet emoji avec le reaction role a bien été retiré.", - "INVENTORY_NOT_REGISTERED": "❌ - Vous n'êtes pas inscrit.", + "INVENTORY_NOT_REGISTERED": "\u274C - Vous n'êtes pas inscrit.", "INVENTORY_EMBED_GENERAL_TITLE": "Inventaire de %s - Informations Générales", - "INVENTORY_EMBED_GENERAL_FIELD_ONE": "❓ Niveau: %d (XP: %d, %d %%)\n❓ Mana: %d/%d\n❓ Points de vie: %d/%d", - "INVENTORY_EMBED_GENERAL_FIELD_ITEMS": "❓Pioche: %s\n❓Pelle: %s\n❓Hache: %s\n❓Epee: %s\n❓Bouclier: %s\n❓Jetpack: %s\n❓Summonable: %s", + "INVENTORY_EMBED_GENERAL_FIELD_ONE": "\uD83C\uDFC6 Niveau: %d (XP: %d, %d %%)\n\u2B50 Mana: %d/%d\n\u2764 Points de vie: %d/%d", + "INVENTORY_EMBED_GENERAL_FIELD_ITEMS": "<:pick:1137764818615549983>Pioche: %s\n<:shovel:1137753102804590612>Pelle: %s\n\uD83E\uDE93Hache: %s\n<:sword:1137765084005924935>Epee: %s\n\uD83D\uDEE1Bouclier: %s\n<:jetpack:1137753294446547044>Jetpack: %s\n\u2604Summonable: %s", "INVENTORY_EMBED_EXTRACTED_TITLE": "Inventaire de %s - Ressources Basiques", "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_TITLE": "Bois", - "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_VALUE": "❓Bois de chêne: %d\n❓Bois de bouleau: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_VALUE": "<:oak:1137760069845536878>Bois de chêne: %d\n<:birch:1137760280852570152>Bois de bouleau: %d", "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_TITLE": "Pierre", - "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_VALUE": "❓Cobblestone: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_VALUE": "\uD83E\uDEA8Cobblestone: %d", "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_TITLE": "Minerais", - "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_VALUE": "❓Fer: %d\n❓Or: %d\n❓Diamant: %d\n❓Emeraude: %d\n❓Obsidienne: %d\n❓Cuivre: %d\n❓Cobalt: %d\n❓Aluminium: %d\n❓Etain: %d\n❓Ardite: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_VALUE": "<:iron:1137752733764571296>Fer: %d\n<:gold:1137754223623295027>Or: %d\n\uD83D\uDC8EDiamant: %d\n<:emerald:1137754823530397778>Emeraude: %d\n<:obsidian:1137755475702718687>Obsidienne: %d\n<:copper:1137756036091084911>Cuivre: %d\n<:cobalt:1137756553928253441>Cobalt: %d\n<:aluminum:1137757021349879849>Aluminium: %d\n<:tin:1137757725955199016>Etain: %d\n<:ardite:1137758089311952946>Ardite: %d", "INVENTORY_EMBED_INDUSTRIAL_TITLE": "Inventaire de %s - Ressources Industrielles", "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_TITLE": "Liquides", - "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_VALUE": "❓Pétrole: %d", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_VALUE": "\uD83D\uDEE2Pétrole: %d", "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_TITLE": "Minéraux d'Alliages", - "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_VALUE": "❓Manyullyn: %d\n❓Bronze: %d\n❓Alumite: %d\n❓Aluminum Brass: %d", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_VALUE": "<:manyullyn:1137758781481160826>Manyullyn: %d\n<:bronze:1137759160897917061>Bronze: %d\n<:alumite:1137759461054881883>Alumite: %d\n<:aluminumbrass:1137759630269878363>Aluminum Brass: %d", "INVENTORY_SELECTMENU_GENERAL_TITLE": "Informations Générales", "INVENTORY_SELECTMENU_GENERAL_DESCRIPTION": "Points de vie, Niveau, Mana, etc...", "INVENTORY_SELECTMENU_EXTRACTED_TITLE": "Ressources Basiques", @@ -77,8 +77,8 @@ "INVENTORY_SELECTMENU_INDUSTRIAL_TITLE": "Ressources Industrielles", "INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION": "Pétroles, Ressources de machinerie, etc...", - "REGISTER_ALREADY_REGISTERED": "❌ - Vous êtes déjà inscrit !", - "REGISTER_REGISTERED": "✅ - Vous avez bien été inscrit ! Bienvenue dans le monde de Melyca.", + "REGISTER_ALREADY_REGISTERED": "\u274C - Vous êtes déjà inscrit !", + "REGISTER_REGISTERED": "\u2705 - Vous avez bien été inscrit ! Bienvenue dans le monde de Melyca.", "ACTIVITY_NOEXIST": "\u274C - Cette activité n'existe apparemment pas, veuillez signaler l'erreur.", "ACTIVITY_BOOSTREQUIRED": "\u274C - Vous devez avoir un niveau de boost égal ou supérieur a 1.", @@ -421,22 +421,22 @@ "REACTIONROLE_REMOVE_NOROLE": "\u274C - No role has been configured for this emoji in the reaction role.", "REACTIONROLE_REMOVE_REMOVED": "\u2705 - The role configured for this emoji in the reaction role has been cleared.", - "INVENTORY_NOT_REGISTERED": "❌ - You are not registered.", + "INVENTORY_NOT_REGISTERED": "\u274C - You are not registered.", "INVENTORY_EMBED_GENERAL_TITLE": "%s's inventory - General Information", - "INVENTORY_EMBED_GENERAL_FIELD_ONE": "❓ Level: %d (XP: %d, %d %%)\n❓ Mana: %d/%d\n❓ Health Points: %d/%d", - "INVENTORY_EMBED_GENERAL_FIELD_ITEMS": "❓Pickaxe: %s\n❓Shovel: %s\n❓Axe: %s\n❓Sword: %s\n❓Shield: %s\n❓Jetpack: %s\n❓Summonable: %s", + "INVENTORY_EMBED_GENERAL_FIELD_ONE": "\uD83C\uDFC6 Level: %d (XP: %d, %d %%)\n\u2B50 Mana: %d/%d\n<:hp:1137764512666234980>Health Points: %d/%d", + "INVENTORY_EMBED_GENERAL_FIELD_ITEMS": "<:pick:1137764818615549983> Pickaxe: %s\n<:shovel:1137753102804590612> Shovel: %s\n\uD83E\uDE93 Axe: %s\n<:sword:1137765084005924935>Sword: %s\n\uD83D\uDEE1Shield: %s\n<:jetpack:1137753294446547044>Jetpack: %s\n\u2604Summonable: %s", "INVENTORY_EMBED_EXTRACTED_TITLE": "%s's inventory - Extracted Resources", "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_TITLE": "Woods", - "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_VALUE": "❓Oak Wood: %d\n❓Birch Wood: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_WOOD_VALUE": "<:oak:1137760069845536878>Oak Wood: %d\n<:birch:1137760280852570152>Birch Wood: %d", "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_TITLE": "Stone", - "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_VALUE": "❓Cobblestone: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_STONE_VALUE": "\uD83E\uDEA8Cobblestone: %d", "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_TITLE": "Minerals", - "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_VALUE": "❓Iron: %d\n❓Gold: %d\n❓Diamond: %d\n❓Emerald: %d\n❓Obsidian: %d\n❓Copper: %d\n❓Cobalt: %d\n❓Aluminum: %d\n❓Tin: %d\n❓Ardite: %d", + "INVENTORY_EMBED_EXTRACTED_FIELD_MINERALS_VALUE": "<:iron:1137752733764571296>Iron: %d\n<:gold:1137754223623295027>Gold: %d\n\uD83D\uDC8EDiamond: %d\n<:emerald:1137754823530397778>Emerald: %d\n<:obsidian:1137755475702718687>Obsidian: %d\n<:copper:1137756036091084911>Copper: %d\n<:cobalt:1137756553928253441>Cobalt: %d\n<:aluminum:1137757021349879849>Aluminum: %d\n<:tin:1137757725955199016>Tin: %d\n<:ardite:1137758089311952946>Ardite: %d", "INVENTORY_EMBED_INDUSTRIAL_TITLE": "%s's inventory - Industrial Resources", "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_TITLE": "Liquids", - "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_VALUE": "❓Oil: %d", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_LIQUIDS_VALUE": "\uD83D\uDEE2Oil: %d", "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_TITLE": "Alloy Minerals", - "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_VALUE": "❓Manyullyn: %d\n❓Bronze: %d\n❓Alumite: %d\n❓Aluminum Brass: %d", + "INVENTORY_EMBED_INDUSTRIAL_FIELD_ALLOY_VALUE": "<:manyullyn:1137758781481160826>Manyullyn: %d\n<:bronze:1137759160897917061>Bronze: %d\n<:alumite:1137759461054881883>Alumite: %d\n<:aluminumbrass:1137759630269878363>Aluminum Brass: %d", "INVENTORY_SELECTMENU_GENERAL_TITLE": "General Information", "INVENTORY_SELECTMENU_GENERAL_DESCRIPTION": "Health Points, Level, Mana, etc...", "INVENTORY_SELECTMENU_EXTRACTED_TITLE": "Extracted Resources", @@ -444,8 +444,8 @@ "INVENTORY_SELECTMENU_INDUSTRIAL_TITLE": "Industrial Resources", "INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION": "Oil, Machinery Resources, etc...", - "REGISTER_ALREADY_REGISTERED": "❌ - You're already registered !", - "REGISTER_REGISTERED": "✅ - You've been successfully registered ! Welcome to the World of Melyca.", + "REGISTER_ALREADY_REGISTERED": "\u274C - You're already registered !", + "REGISTER_REGISTERED": "\u2705 - You've been successfully registered ! Welcome to the World of Melyca.", "ACTIVITY_NOEXIST": "\u274C - This activity somehow doesn't exist, please report the error.", "ACTIVITY_BOOSTREQUIRED": "\u274C - You must be at least Boost Level 1 to start this activity.", From 2daf930674b5d1dcd440034dcb0af308a1e97f5b Mon Sep 17 00:00:00 2001 From: chocololat Date: Mon, 16 Oct 2023 21:32:01 +0200 Subject: [PATCH 05/13] ref: renamed package to handlers --- src/main/java/org/virep/jdabot/Main.java | 2 +- .../virep/jdabot/commands/administration/AutoroleCommand.java | 2 +- .../virep/jdabot/commands/administration/EmojisCommand.java | 2 +- .../commands/administration/InteractionroleCommand.java | 2 +- .../org/virep/jdabot/commands/administration/LangCommand.java | 2 +- .../org/virep/jdabot/commands/administration/LogsCommand.java | 2 +- .../virep/jdabot/commands/administration/MessageCommand.java | 2 +- .../jdabot/commands/administration/ReactionroleCommand.java | 2 +- .../virep/jdabot/commands/administration/ShutdownCommand.java | 2 +- .../java/org/virep/jdabot/commands/game/InventoryCommand.java | 2 +- .../java/org/virep/jdabot/commands/game/RegisterCommand.java | 2 +- .../java/org/virep/jdabot/commands/games/ActivityCommand.java | 2 +- src/main/java/org/virep/jdabot/commands/games/TTTCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/AfkCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/AvatarCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/BannerCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/ColorCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/EmojiCommand.java | 2 +- .../org/virep/jdabot/commands/general/InteractCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/MathCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/MemeCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/OsuCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/PingCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/RandomCommand.java | 2 +- .../java/org/virep/jdabot/commands/general/RemindCommand.java | 2 +- .../java/org/virep/jdabot/commands/image/ImageCommand.java | 2 +- .../java/org/virep/jdabot/commands/infos/InfoCommand.java | 2 +- .../java/org/virep/jdabot/commands/infos/StatsCommand.java | 2 +- .../java/org/virep/jdabot/commands/moderation/BanCommand.java | 2 +- .../org/virep/jdabot/commands/moderation/BansCommand.java | 2 +- .../org/virep/jdabot/commands/moderation/KickCommand.java | 2 +- .../org/virep/jdabot/commands/moderation/MuteCommand.java | 2 +- .../org/virep/jdabot/commands/moderation/PurgeCommand.java | 2 +- .../org/virep/jdabot/commands/moderation/SlowmodeCommand.java | 2 +- .../org/virep/jdabot/commands/moderation/UnbanCommand.java | 2 +- .../org/virep/jdabot/commands/moderation/WarnCommand.java | 2 +- .../org/virep/jdabot/commands/music/ClearQueueCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/JoinCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/LoopingCommand.java | 2 +- .../org/virep/jdabot/commands/music/NowPlayingCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/PauseCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/PlayCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/QueueCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/ResumeCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/SeekCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/ShuffleCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/SkipCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/StopCommand.java | 2 +- .../java/org/virep/jdabot/commands/music/VolumeCommand.java | 2 +- .../jdabot/{slashcommandhandler => handlers}/Command.java | 2 +- .../{slashcommandhandler => handlers}/SlashHandler.java | 2 +- src/main/java/org/virep/jdabot/listeners/SlashListener.java | 4 ++-- 52 files changed, 53 insertions(+), 53 deletions(-) rename src/main/java/org/virep/jdabot/{slashcommandhandler => handlers}/Command.java (91%) rename src/main/java/org/virep/jdabot/{slashcommandhandler => handlers}/SlashHandler.java (97%) diff --git a/src/main/java/org/virep/jdabot/Main.java b/src/main/java/org/virep/jdabot/Main.java index 452b04a..6811a09 100644 --- a/src/main/java/org/virep/jdabot/Main.java +++ b/src/main/java/org/virep/jdabot/Main.java @@ -20,7 +20,7 @@ import org.virep.jdabot.listeners.LogsListener; import org.virep.jdabot.listeners.ReactionRoleListener; import org.virep.jdabot.listeners.SelectMenuInteractionListener; -import org.virep.jdabot.slashcommandhandler.SlashHandler; +import org.virep.jdabot.handlers.SlashHandler; import org.virep.jdabot.listeners.SlashListener; import org.virep.jdabot.utils.Config; diff --git a/src/main/java/org/virep/jdabot/commands/administration/AutoroleCommand.java b/src/main/java/org/virep/jdabot/commands/administration/AutoroleCommand.java index 25bd122..127d3f5 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/AutoroleCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/AutoroleCommand.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; diff --git a/src/main/java/org/virep/jdabot/commands/administration/EmojisCommand.java b/src/main/java/org/virep/jdabot/commands/administration/EmojisCommand.java index c59c6e5..2204d60 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/EmojisCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/EmojisCommand.java @@ -20,7 +20,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; diff --git a/src/main/java/org/virep/jdabot/commands/administration/InteractionroleCommand.java b/src/main/java/org/virep/jdabot/commands/administration/InteractionroleCommand.java index efc27a7..dc08fb0 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/InteractionroleCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/InteractionroleCommand.java @@ -23,7 +23,7 @@ import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; diff --git a/src/main/java/org/virep/jdabot/commands/administration/LangCommand.java b/src/main/java/org/virep/jdabot/commands/administration/LangCommand.java index ade7ff6..d8fdd19 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/LangCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/LangCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; diff --git a/src/main/java/org/virep/jdabot/commands/administration/LogsCommand.java b/src/main/java/org/virep/jdabot/commands/administration/LogsCommand.java index 625c790..449bb0c 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/LogsCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/LogsCommand.java @@ -15,7 +15,7 @@ import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; diff --git a/src/main/java/org/virep/jdabot/commands/administration/MessageCommand.java b/src/main/java/org/virep/jdabot/commands/administration/MessageCommand.java index 66afcf2..a0028cb 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/MessageCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/MessageCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.components.buttons.Button; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; diff --git a/src/main/java/org/virep/jdabot/commands/administration/ReactionroleCommand.java b/src/main/java/org/virep/jdabot/commands/administration/ReactionroleCommand.java index e19691d..0f54c92 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/ReactionroleCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/ReactionroleCommand.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.interactions.commands.build.*; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; diff --git a/src/main/java/org/virep/jdabot/commands/administration/ShutdownCommand.java b/src/main/java/org/virep/jdabot/commands/administration/ShutdownCommand.java index f6a92a1..b4744aa 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/ShutdownCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/ShutdownCommand.java @@ -7,7 +7,7 @@ import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.Collections; import java.util.List; diff --git a/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java b/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java index 961a290..f14a825 100644 --- a/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java +++ b/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java @@ -13,7 +13,7 @@ import org.virep.jdabot.commands.games.ActivityCommand; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.awt.*; diff --git a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java b/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java index ce6a9c9..cb29ad5 100644 --- a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java +++ b/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java @@ -7,7 +7,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.sql.Connection; import java.sql.PreparedStatement; diff --git a/src/main/java/org/virep/jdabot/commands/games/ActivityCommand.java b/src/main/java/org/virep/jdabot/commands/games/ActivityCommand.java index 83df438..937714f 100644 --- a/src/main/java/org/virep/jdabot/commands/games/ActivityCommand.java +++ b/src/main/java/org/virep/jdabot/commands/games/ActivityCommand.java @@ -16,7 +16,7 @@ import org.json.JSONObject; import org.json.JSONTokener; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; diff --git a/src/main/java/org/virep/jdabot/commands/games/TTTCommand.java b/src/main/java/org/virep/jdabot/commands/games/TTTCommand.java index 832bedf..358e19e 100644 --- a/src/main/java/org/virep/jdabot/commands/games/TTTCommand.java +++ b/src/main/java/org/virep/jdabot/commands/games/TTTCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.components.buttons.Button; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.*; diff --git a/src/main/java/org/virep/jdabot/commands/general/AfkCommand.java b/src/main/java/org/virep/jdabot/commands/general/AfkCommand.java index 939d81e..aa4d174 100644 --- a/src/main/java/org/virep/jdabot/commands/general/AfkCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/AfkCommand.java @@ -12,7 +12,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; diff --git a/src/main/java/org/virep/jdabot/commands/general/AvatarCommand.java b/src/main/java/org/virep/jdabot/commands/general/AvatarCommand.java index f3779e8..19103d3 100644 --- a/src/main/java/org/virep/jdabot/commands/general/AvatarCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/AvatarCommand.java @@ -9,7 +9,7 @@ import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/general/BannerCommand.java b/src/main/java/org/virep/jdabot/commands/general/BannerCommand.java index 94ab1b5..bc865bc 100644 --- a/src/main/java/org/virep/jdabot/commands/general/BannerCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/BannerCommand.java @@ -16,7 +16,7 @@ import okhttp3.Response; import org.json.JSONObject; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; diff --git a/src/main/java/org/virep/jdabot/commands/general/ColorCommand.java b/src/main/java/org/virep/jdabot/commands/general/ColorCommand.java index 937683a..39d5af7 100644 --- a/src/main/java/org/virep/jdabot/commands/general/ColorCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/ColorCommand.java @@ -14,7 +14,7 @@ import okhttp3.Request; import okhttp3.Response; import org.json.JSONObject; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.awt.*; diff --git a/src/main/java/org/virep/jdabot/commands/general/EmojiCommand.java b/src/main/java/org/virep/jdabot/commands/general/EmojiCommand.java index e24ea6d..597d50a 100644 --- a/src/main/java/org/virep/jdabot/commands/general/EmojiCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/EmojiCommand.java @@ -15,7 +15,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.utils.FileUpload; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import org.virep.jdabot.utils.Twemoji; diff --git a/src/main/java/org/virep/jdabot/commands/general/InteractCommand.java b/src/main/java/org/virep/jdabot/commands/general/InteractCommand.java index 2cb4a32..1135199 100644 --- a/src/main/java/org/virep/jdabot/commands/general/InteractCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/InteractCommand.java @@ -17,7 +17,7 @@ import okhttp3.ResponseBody; import org.json.JSONObject; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; diff --git a/src/main/java/org/virep/jdabot/commands/general/MathCommand.java b/src/main/java/org/virep/jdabot/commands/general/MathCommand.java index 99bff20..f7c4c18 100644 --- a/src/main/java/org/virep/jdabot/commands/general/MathCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/MathCommand.java @@ -26,7 +26,7 @@ import org.scilab.forge.jlatexmath.TeXFormula; import org.scilab.forge.jlatexmath.TeXIcon; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import javax.imageio.ImageIO; diff --git a/src/main/java/org/virep/jdabot/commands/general/MemeCommand.java b/src/main/java/org/virep/jdabot/commands/general/MemeCommand.java index 25747a4..e99fb48 100644 --- a/src/main/java/org/virep/jdabot/commands/general/MemeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/MemeCommand.java @@ -15,7 +15,7 @@ import okhttp3.Response; import org.json.JSONArray; import org.json.JSONObject; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; diff --git a/src/main/java/org/virep/jdabot/commands/general/OsuCommand.java b/src/main/java/org/virep/jdabot/commands/general/OsuCommand.java index ef99d94..8301217 100644 --- a/src/main/java/org/virep/jdabot/commands/general/OsuCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/OsuCommand.java @@ -14,7 +14,7 @@ import okhttp3.Response; import org.json.JSONArray; import org.json.JSONObject; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.io.ByteArrayInputStream; diff --git a/src/main/java/org/virep/jdabot/commands/general/PingCommand.java b/src/main/java/org/virep/jdabot/commands/general/PingCommand.java index 52bd2c8..d533ba2 100644 --- a/src/main/java/org/virep/jdabot/commands/general/PingCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/PingCommand.java @@ -4,7 +4,7 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.Collections; import java.util.List; diff --git a/src/main/java/org/virep/jdabot/commands/general/RandomCommand.java b/src/main/java/org/virep/jdabot/commands/general/RandomCommand.java index d9a85c1..0ce7a65 100644 --- a/src/main/java/org/virep/jdabot/commands/general/RandomCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/RandomCommand.java @@ -10,7 +10,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.Collections; import java.util.List; diff --git a/src/main/java/org/virep/jdabot/commands/general/RemindCommand.java b/src/main/java/org/virep/jdabot/commands/general/RemindCommand.java index 2da9d48..34cecbf 100644 --- a/src/main/java/org/virep/jdabot/commands/general/RemindCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/RemindCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.utils.MarkdownSanitizer; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; diff --git a/src/main/java/org/virep/jdabot/commands/image/ImageCommand.java b/src/main/java/org/virep/jdabot/commands/image/ImageCommand.java index d6ed35d..2ca908b 100644 --- a/src/main/java/org/virep/jdabot/commands/image/ImageCommand.java +++ b/src/main/java/org/virep/jdabot/commands/image/ImageCommand.java @@ -15,7 +15,7 @@ import org.json.JSONArray; import org.json.JSONObject; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import org.virep.jdabot.utils.Utils; diff --git a/src/main/java/org/virep/jdabot/commands/infos/InfoCommand.java b/src/main/java/org/virep/jdabot/commands/infos/InfoCommand.java index 67ce778..a0d2905 100644 --- a/src/main/java/org/virep/jdabot/commands/infos/InfoCommand.java +++ b/src/main/java/org/virep/jdabot/commands/infos/InfoCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/infos/StatsCommand.java b/src/main/java/org/virep/jdabot/commands/infos/StatsCommand.java index 648ff14..a0d7c33 100644 --- a/src/main/java/org/virep/jdabot/commands/infos/StatsCommand.java +++ b/src/main/java/org/virep/jdabot/commands/infos/StatsCommand.java @@ -10,7 +10,7 @@ import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/BanCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/BanCommand.java index f195263..5c81853 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/BanCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/BanCommand.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.requests.ErrorResponse; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.Utils; import java.util.ArrayList; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/BansCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/BansCommand.java index 8c9a689..d815b8b 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/BansCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/BansCommand.java @@ -11,7 +11,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import net.dv8tion.jda.api.interactions.components.buttons.Button; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.time.Instant; import java.util.*; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/KickCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/KickCommand.java index d06c897..57067fc 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/KickCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/KickCommand.java @@ -11,7 +11,7 @@ import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/MuteCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/MuteCommand.java index ed3e1b9..cfabd53 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/MuteCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/MuteCommand.java @@ -15,7 +15,7 @@ import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.requests.ErrorResponse; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/PurgeCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/PurgeCommand.java index 0a8198d..02a330f 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/PurgeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/PurgeCommand.java @@ -15,7 +15,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/SlowmodeCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/SlowmodeCommand.java index c922375..034ba53 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/SlowmodeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/SlowmodeCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.commands.build.*; import net.dv8tion.jda.api.interactions.commands.build.Commands; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.time.Duration; import java.time.format.DateTimeParseException; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/UnbanCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/UnbanCommand.java index 21f9008..0f5f532 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/UnbanCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/UnbanCommand.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.internal.utils.Helpers; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/WarnCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/WarnCommand.java index 3688e02..d341150 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/WarnCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/WarnCommand.java @@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.ErrorManager; import org.virep.jdabot.utils.Utils; diff --git a/src/main/java/org/virep/jdabot/commands/music/ClearQueueCommand.java b/src/main/java/org/virep/jdabot/commands/music/ClearQueueCommand.java index 65f0a3c..1caa9c8 100644 --- a/src/main/java/org/virep/jdabot/commands/music/ClearQueueCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/ClearQueueCommand.java @@ -11,7 +11,7 @@ import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import org.virep.jdabot.music.TrackScheduler; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/JoinCommand.java b/src/main/java/org/virep/jdabot/commands/music/JoinCommand.java index e117780..e173e9d 100644 --- a/src/main/java/org/virep/jdabot/commands/music/JoinCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/JoinCommand.java @@ -11,7 +11,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/LoopingCommand.java b/src/main/java/org/virep/jdabot/commands/music/LoopingCommand.java index 5b21071..f85c546 100644 --- a/src/main/java/org/virep/jdabot/commands/music/LoopingCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/LoopingCommand.java @@ -11,7 +11,7 @@ import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import org.virep.jdabot.music.TrackScheduler; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/NowPlayingCommand.java b/src/main/java/org/virep/jdabot/commands/music/NowPlayingCommand.java index 5bfed67..8e2e1b8 100644 --- a/src/main/java/org/virep/jdabot/commands/music/NowPlayingCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/NowPlayingCommand.java @@ -14,7 +14,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import org.virep.jdabot.utils.Utils; import java.time.Instant; diff --git a/src/main/java/org/virep/jdabot/commands/music/PauseCommand.java b/src/main/java/org/virep/jdabot/commands/music/PauseCommand.java index efe2631..477e7cf 100644 --- a/src/main/java/org/virep/jdabot/commands/music/PauseCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/PauseCommand.java @@ -11,7 +11,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/PlayCommand.java b/src/main/java/org/virep/jdabot/commands/music/PlayCommand.java index 291693d..445b191 100644 --- a/src/main/java/org/virep/jdabot/commands/music/PlayCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/PlayCommand.java @@ -20,7 +20,7 @@ import org.virep.jdabot.music.AudioLoadHandler; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.io.IOException; import java.net.MalformedURLException; diff --git a/src/main/java/org/virep/jdabot/commands/music/QueueCommand.java b/src/main/java/org/virep/jdabot/commands/music/QueueCommand.java index 601199e..20e8bae 100644 --- a/src/main/java/org/virep/jdabot/commands/music/QueueCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/QueueCommand.java @@ -15,7 +15,7 @@ import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import org.virep.jdabot.music.TrackScheduler; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.awt.*; import java.time.Instant; diff --git a/src/main/java/org/virep/jdabot/commands/music/ResumeCommand.java b/src/main/java/org/virep/jdabot/commands/music/ResumeCommand.java index b2d595c..cff5efb 100644 --- a/src/main/java/org/virep/jdabot/commands/music/ResumeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/ResumeCommand.java @@ -11,7 +11,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/SeekCommand.java b/src/main/java/org/virep/jdabot/commands/music/SeekCommand.java index 696b7ec..33bd8c6 100644 --- a/src/main/java/org/virep/jdabot/commands/music/SeekCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/SeekCommand.java @@ -14,7 +14,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/ShuffleCommand.java b/src/main/java/org/virep/jdabot/commands/music/ShuffleCommand.java index bb1e97b..25455f6 100644 --- a/src/main/java/org/virep/jdabot/commands/music/ShuffleCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/ShuffleCommand.java @@ -11,7 +11,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/SkipCommand.java b/src/main/java/org/virep/jdabot/commands/music/SkipCommand.java index a85ea8a..1694616 100644 --- a/src/main/java/org/virep/jdabot/commands/music/SkipCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/SkipCommand.java @@ -14,7 +14,7 @@ import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import org.virep.jdabot.music.TrackScheduler; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/StopCommand.java b/src/main/java/org/virep/jdabot/commands/music/StopCommand.java index 51e04f0..870a6fa 100644 --- a/src/main/java/org/virep/jdabot/commands/music/StopCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/StopCommand.java @@ -9,7 +9,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/commands/music/VolumeCommand.java b/src/main/java/org/virep/jdabot/commands/music/VolumeCommand.java index 5025970..2615fea 100644 --- a/src/main/java/org/virep/jdabot/commands/music/VolumeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/VolumeCommand.java @@ -14,7 +14,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.slashcommandhandler.Command; +import org.virep.jdabot.handlers.Command; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/org/virep/jdabot/slashcommandhandler/Command.java b/src/main/java/org/virep/jdabot/handlers/Command.java similarity index 91% rename from src/main/java/org/virep/jdabot/slashcommandhandler/Command.java rename to src/main/java/org/virep/jdabot/handlers/Command.java index 691074d..ab9b391 100644 --- a/src/main/java/org/virep/jdabot/slashcommandhandler/Command.java +++ b/src/main/java/org/virep/jdabot/handlers/Command.java @@ -1,4 +1,4 @@ -package org.virep.jdabot.slashcommandhandler; +package org.virep.jdabot.handlers; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; diff --git a/src/main/java/org/virep/jdabot/slashcommandhandler/SlashHandler.java b/src/main/java/org/virep/jdabot/handlers/SlashHandler.java similarity index 97% rename from src/main/java/org/virep/jdabot/slashcommandhandler/SlashHandler.java rename to src/main/java/org/virep/jdabot/handlers/SlashHandler.java index ef8d041..897bd22 100644 --- a/src/main/java/org/virep/jdabot/slashcommandhandler/SlashHandler.java +++ b/src/main/java/org/virep/jdabot/handlers/SlashHandler.java @@ -1,4 +1,4 @@ -package org.virep.jdabot.slashcommandhandler; +package org.virep.jdabot.handlers; import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.entities.Guild; diff --git a/src/main/java/org/virep/jdabot/listeners/SlashListener.java b/src/main/java/org/virep/jdabot/listeners/SlashListener.java index e7e329f..522db04 100644 --- a/src/main/java/org/virep/jdabot/listeners/SlashListener.java +++ b/src/main/java/org/virep/jdabot/listeners/SlashListener.java @@ -6,8 +6,8 @@ import net.dv8tion.jda.api.hooks.ListenerAdapter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.virep.jdabot.slashcommandhandler.Command; -import org.virep.jdabot.slashcommandhandler.SlashHandler; +import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashHandler; import org.virep.jdabot.utils.Config; import org.virep.jdabot.utils.Utils; From a97c5a47b07272f19bd06bb82ca15ce21b898c7f Mon Sep 17 00:00:00 2001 From: chocololat Date: Mon, 16 Oct 2023 21:33:12 +0200 Subject: [PATCH 06/13] ref: renamed Command class to SlashCommand --- .../commands/administration/AutoroleCommand.java | 4 ++-- .../jdabot/commands/administration/EmojisCommand.java | 4 ++-- .../administration/InteractionroleCommand.java | 4 ++-- .../jdabot/commands/administration/LangCommand.java | 4 ++-- .../jdabot/commands/administration/LogsCommand.java | 4 ++-- .../jdabot/commands/administration/MessageCommand.java | 4 ++-- .../commands/administration/ReactionroleCommand.java | 4 ++-- .../commands/administration/ShutdownCommand.java | 4 ++-- .../virep/jdabot/commands/game/InventoryCommand.java | 4 ++-- .../virep/jdabot/commands/game/RegisterCommand.java | 4 ++-- .../virep/jdabot/commands/games/ActivityCommand.java | 4 ++-- .../org/virep/jdabot/commands/games/TTTCommand.java | 4 ++-- .../org/virep/jdabot/commands/general/AfkCommand.java | 4 ++-- .../virep/jdabot/commands/general/AvatarCommand.java | 4 ++-- .../virep/jdabot/commands/general/BannerCommand.java | 4 ++-- .../virep/jdabot/commands/general/ColorCommand.java | 4 ++-- .../virep/jdabot/commands/general/EmojiCommand.java | 4 ++-- .../virep/jdabot/commands/general/InteractCommand.java | 4 ++-- .../org/virep/jdabot/commands/general/MathCommand.java | 4 ++-- .../org/virep/jdabot/commands/general/MemeCommand.java | 4 ++-- .../org/virep/jdabot/commands/general/OsuCommand.java | 4 ++-- .../org/virep/jdabot/commands/general/PingCommand.java | 4 ++-- .../virep/jdabot/commands/general/RandomCommand.java | 4 ++-- .../virep/jdabot/commands/general/RemindCommand.java | 4 ++-- .../org/virep/jdabot/commands/image/ImageCommand.java | 4 ++-- .../org/virep/jdabot/commands/infos/InfoCommand.java | 4 ++-- .../org/virep/jdabot/commands/infos/StatsCommand.java | 4 ++-- .../virep/jdabot/commands/moderation/BanCommand.java | 4 ++-- .../virep/jdabot/commands/moderation/BansCommand.java | 4 ++-- .../virep/jdabot/commands/moderation/KickCommand.java | 4 ++-- .../virep/jdabot/commands/moderation/MuteCommand.java | 4 ++-- .../virep/jdabot/commands/moderation/PurgeCommand.java | 4 ++-- .../jdabot/commands/moderation/SlowmodeCommand.java | 4 ++-- .../virep/jdabot/commands/moderation/UnbanCommand.java | 4 ++-- .../virep/jdabot/commands/moderation/WarnCommand.java | 4 ++-- .../virep/jdabot/commands/music/ClearQueueCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/JoinCommand.java | 4 ++-- .../virep/jdabot/commands/music/LoopingCommand.java | 4 ++-- .../virep/jdabot/commands/music/NowPlayingCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/PauseCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/PlayCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/QueueCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/ResumeCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/SeekCommand.java | 4 ++-- .../virep/jdabot/commands/music/ShuffleCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/SkipCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/StopCommand.java | 4 ++-- .../org/virep/jdabot/commands/music/VolumeCommand.java | 4 ++-- .../handlers/{Command.java => SlashCommand.java} | 2 +- .../java/org/virep/jdabot/handlers/SlashHandler.java | 10 +++++----- .../java/org/virep/jdabot/listeners/SlashListener.java | 6 +++--- 51 files changed, 105 insertions(+), 105 deletions(-) rename src/main/java/org/virep/jdabot/handlers/{Command.java => SlashCommand.java} (93%) diff --git a/src/main/java/org/virep/jdabot/commands/administration/AutoroleCommand.java b/src/main/java/org/virep/jdabot/commands/administration/AutoroleCommand.java index 127d3f5..1f90a27 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/AutoroleCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/AutoroleCommand.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; @@ -25,7 +25,7 @@ import java.util.Collections; import java.util.List; -public class AutoroleCommand implements Command { +public class AutoroleCommand implements SlashCommand { @Override public String getName() { return "autorole"; diff --git a/src/main/java/org/virep/jdabot/commands/administration/EmojisCommand.java b/src/main/java/org/virep/jdabot/commands/administration/EmojisCommand.java index 2204d60..7194447 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/EmojisCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/EmojisCommand.java @@ -20,7 +20,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; @@ -29,7 +29,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; -public class EmojisCommand implements Command { +public class EmojisCommand implements SlashCommand { @Override public String getName() { return "emojis"; diff --git a/src/main/java/org/virep/jdabot/commands/administration/InteractionroleCommand.java b/src/main/java/org/virep/jdabot/commands/administration/InteractionroleCommand.java index dc08fb0..77bda1e 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/InteractionroleCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/InteractionroleCommand.java @@ -23,7 +23,7 @@ import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; @@ -34,7 +34,7 @@ import java.util.Collections; import java.util.List; -public class InteractionroleCommand implements Command { +public class InteractionroleCommand implements SlashCommand { @Override public String getName() { return "interactionrole"; diff --git a/src/main/java/org/virep/jdabot/commands/administration/LangCommand.java b/src/main/java/org/virep/jdabot/commands/administration/LangCommand.java index d8fdd19..33c5923 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/LangCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/LangCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; @@ -23,7 +23,7 @@ import java.util.Collections; import java.util.List; -public class LangCommand implements Command { +public class LangCommand implements SlashCommand { @Override public String getName() { diff --git a/src/main/java/org/virep/jdabot/commands/administration/LogsCommand.java b/src/main/java/org/virep/jdabot/commands/administration/LogsCommand.java index 449bb0c..0e32a4d 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/LogsCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/LogsCommand.java @@ -15,7 +15,7 @@ import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; @@ -26,7 +26,7 @@ import java.util.Collections; import java.util.List; -public class LogsCommand implements Command { +public class LogsCommand implements SlashCommand { @Override public String getName() { return "logs"; diff --git a/src/main/java/org/virep/jdabot/commands/administration/MessageCommand.java b/src/main/java/org/virep/jdabot/commands/administration/MessageCommand.java index a0028cb..8c420f3 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/MessageCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/MessageCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.components.buttons.Button; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; @@ -24,7 +24,7 @@ import java.util.Collections; import java.util.List; -public class MessageCommand implements Command { +public class MessageCommand implements SlashCommand { @Override public String getName() { return "message"; diff --git a/src/main/java/org/virep/jdabot/commands/administration/ReactionroleCommand.java b/src/main/java/org/virep/jdabot/commands/administration/ReactionroleCommand.java index 0f54c92..289505c 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/ReactionroleCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/ReactionroleCommand.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.interactions.commands.build.*; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; @@ -26,7 +26,7 @@ import java.util.List; import java.util.Objects; -public class ReactionroleCommand implements Command { +public class ReactionroleCommand implements SlashCommand { @Override public String getName() { return "reactionrole"; diff --git a/src/main/java/org/virep/jdabot/commands/administration/ShutdownCommand.java b/src/main/java/org/virep/jdabot/commands/administration/ShutdownCommand.java index b4744aa..111a5fa 100644 --- a/src/main/java/org/virep/jdabot/commands/administration/ShutdownCommand.java +++ b/src/main/java/org/virep/jdabot/commands/administration/ShutdownCommand.java @@ -7,12 +7,12 @@ import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.Collections; import java.util.List; -public class ShutdownCommand implements Command { +public class ShutdownCommand implements SlashCommand { @Override public String getName() { diff --git a/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java b/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java index f14a825..7813bde 100644 --- a/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java +++ b/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java @@ -13,7 +13,7 @@ import org.virep.jdabot.commands.games.ActivityCommand; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.awt.*; @@ -27,7 +27,7 @@ import java.util.Collections; import java.util.List; -public class InventoryCommand implements Command { +public class InventoryCommand implements SlashCommand { @Override public String getName() { return "inventory"; diff --git a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java b/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java index cb29ad5..c44fc8e 100644 --- a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java +++ b/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java @@ -7,7 +7,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.sql.Connection; import java.sql.PreparedStatement; @@ -16,7 +16,7 @@ import java.util.Collections; import java.util.List; -public class RegisterCommand implements Command { +public class RegisterCommand implements SlashCommand { @Override public String getName() { return "register"; diff --git a/src/main/java/org/virep/jdabot/commands/games/ActivityCommand.java b/src/main/java/org/virep/jdabot/commands/games/ActivityCommand.java index 937714f..dc6bd8b 100644 --- a/src/main/java/org/virep/jdabot/commands/games/ActivityCommand.java +++ b/src/main/java/org/virep/jdabot/commands/games/ActivityCommand.java @@ -16,7 +16,7 @@ import org.json.JSONObject; import org.json.JSONTokener; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; @@ -25,7 +25,7 @@ import java.util.Collections; import java.util.List; -public class ActivityCommand implements Command { +public class ActivityCommand implements SlashCommand { @Override public String getName() { return "activity"; diff --git a/src/main/java/org/virep/jdabot/commands/games/TTTCommand.java b/src/main/java/org/virep/jdabot/commands/games/TTTCommand.java index 358e19e..4eb55a4 100644 --- a/src/main/java/org/virep/jdabot/commands/games/TTTCommand.java +++ b/src/main/java/org/virep/jdabot/commands/games/TTTCommand.java @@ -13,11 +13,11 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.components.buttons.Button; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.*; -public class TTTCommand implements Command { +public class TTTCommand implements SlashCommand { private static final int[][] board = new int[3][3]; public static final Map boards = new HashMap<>(); public static final Map players = new HashMap<>(); diff --git a/src/main/java/org/virep/jdabot/commands/general/AfkCommand.java b/src/main/java/org/virep/jdabot/commands/general/AfkCommand.java index aa4d174..b189056 100644 --- a/src/main/java/org/virep/jdabot/commands/general/AfkCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/AfkCommand.java @@ -12,7 +12,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; @@ -23,7 +23,7 @@ import java.util.Collections; import java.util.List; -public class AfkCommand implements Command { +public class AfkCommand implements SlashCommand { @Override public String getName() { return "afk"; diff --git a/src/main/java/org/virep/jdabot/commands/general/AvatarCommand.java b/src/main/java/org/virep/jdabot/commands/general/AvatarCommand.java index 19103d3..af3eaf7 100644 --- a/src/main/java/org/virep/jdabot/commands/general/AvatarCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/AvatarCommand.java @@ -9,13 +9,13 @@ import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; -public class AvatarCommand implements Command { +public class AvatarCommand implements SlashCommand { @Override public String getName() { return "avatar"; diff --git a/src/main/java/org/virep/jdabot/commands/general/BannerCommand.java b/src/main/java/org/virep/jdabot/commands/general/BannerCommand.java index bc865bc..739e6cc 100644 --- a/src/main/java/org/virep/jdabot/commands/general/BannerCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/BannerCommand.java @@ -16,7 +16,7 @@ import okhttp3.Response; import org.json.JSONObject; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; @@ -26,7 +26,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; -public class BannerCommand implements Command { +public class BannerCommand implements SlashCommand { @Override public String getName() { return "banner"; diff --git a/src/main/java/org/virep/jdabot/commands/general/ColorCommand.java b/src/main/java/org/virep/jdabot/commands/general/ColorCommand.java index 39d5af7..8ed26ae 100644 --- a/src/main/java/org/virep/jdabot/commands/general/ColorCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/ColorCommand.java @@ -14,7 +14,7 @@ import okhttp3.Request; import okhttp3.Response; import org.json.JSONObject; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.awt.*; @@ -29,7 +29,7 @@ import static org.virep.jdabot.utils.Utils.getRandomColor; -public class ColorCommand implements Command { +public class ColorCommand implements SlashCommand { @Override public String getName() { return "color"; diff --git a/src/main/java/org/virep/jdabot/commands/general/EmojiCommand.java b/src/main/java/org/virep/jdabot/commands/general/EmojiCommand.java index 597d50a..ad5d0d8 100644 --- a/src/main/java/org/virep/jdabot/commands/general/EmojiCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/EmojiCommand.java @@ -15,7 +15,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.utils.FileUpload; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import org.virep.jdabot.utils.Twemoji; @@ -27,7 +27,7 @@ import java.util.List; import java.util.concurrent.ExecutionException; -public class EmojiCommand implements Command { +public class EmojiCommand implements SlashCommand { @Override public String getName() { return "emoji"; diff --git a/src/main/java/org/virep/jdabot/commands/general/InteractCommand.java b/src/main/java/org/virep/jdabot/commands/general/InteractCommand.java index 1135199..7cbf570 100644 --- a/src/main/java/org/virep/jdabot/commands/general/InteractCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/InteractCommand.java @@ -17,7 +17,7 @@ import okhttp3.ResponseBody; import org.json.JSONObject; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; @@ -28,7 +28,7 @@ import java.util.Objects; import java.util.concurrent.TimeUnit; -public class InteractCommand implements Command { +public class InteractCommand implements SlashCommand { @Override public String getName() { return "interact"; diff --git a/src/main/java/org/virep/jdabot/commands/general/MathCommand.java b/src/main/java/org/virep/jdabot/commands/general/MathCommand.java index f7c4c18..073cd94 100644 --- a/src/main/java/org/virep/jdabot/commands/general/MathCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/MathCommand.java @@ -26,7 +26,7 @@ import org.scilab.forge.jlatexmath.TeXFormula; import org.scilab.forge.jlatexmath.TeXIcon; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import javax.imageio.ImageIO; @@ -43,7 +43,7 @@ import java.util.Objects; import java.util.concurrent.TimeUnit; -public class MathCommand implements Command { +public class MathCommand implements SlashCommand { @Override public String getName() { return "math"; diff --git a/src/main/java/org/virep/jdabot/commands/general/MemeCommand.java b/src/main/java/org/virep/jdabot/commands/general/MemeCommand.java index e99fb48..739fb0a 100644 --- a/src/main/java/org/virep/jdabot/commands/general/MemeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/MemeCommand.java @@ -15,7 +15,7 @@ import okhttp3.Response; import org.json.JSONArray; import org.json.JSONObject; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.io.IOException; @@ -24,7 +24,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; -public class MemeCommand implements Command { +public class MemeCommand implements SlashCommand { @Override public String getName() { return "meme"; diff --git a/src/main/java/org/virep/jdabot/commands/general/OsuCommand.java b/src/main/java/org/virep/jdabot/commands/general/OsuCommand.java index 8301217..d53f055 100644 --- a/src/main/java/org/virep/jdabot/commands/general/OsuCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/OsuCommand.java @@ -14,7 +14,7 @@ import okhttp3.Response; import org.json.JSONArray; import org.json.JSONObject; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.io.ByteArrayInputStream; @@ -26,7 +26,7 @@ import java.util.Objects; import java.util.concurrent.TimeUnit; -public class OsuCommand implements Command { +public class OsuCommand implements SlashCommand { @Override public String getName() { return "osu"; diff --git a/src/main/java/org/virep/jdabot/commands/general/PingCommand.java b/src/main/java/org/virep/jdabot/commands/general/PingCommand.java index d533ba2..1ae8978 100644 --- a/src/main/java/org/virep/jdabot/commands/general/PingCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/PingCommand.java @@ -4,12 +4,12 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.Collections; import java.util.List; -public class PingCommand implements Command { +public class PingCommand implements SlashCommand { @Override public String getName() { return "ping"; diff --git a/src/main/java/org/virep/jdabot/commands/general/RandomCommand.java b/src/main/java/org/virep/jdabot/commands/general/RandomCommand.java index 0ce7a65..b276489 100644 --- a/src/main/java/org/virep/jdabot/commands/general/RandomCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/RandomCommand.java @@ -10,13 +10,13 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.Collections; import java.util.List; import java.util.Objects; -public class RandomCommand implements Command { +public class RandomCommand implements SlashCommand { @Override public String getName() { return "random"; diff --git a/src/main/java/org/virep/jdabot/commands/general/RemindCommand.java b/src/main/java/org/virep/jdabot/commands/general/RemindCommand.java index 34cecbf..be8087d 100644 --- a/src/main/java/org/virep/jdabot/commands/general/RemindCommand.java +++ b/src/main/java/org/virep/jdabot/commands/general/RemindCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.utils.MarkdownSanitizer; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.sql.Connection; @@ -30,7 +30,7 @@ import static org.virep.jdabot.utils.Utils.timeStringToSeconds; -public class RemindCommand implements Command { +public class RemindCommand implements SlashCommand { public static Map timers = new HashMap<>(); @Override diff --git a/src/main/java/org/virep/jdabot/commands/image/ImageCommand.java b/src/main/java/org/virep/jdabot/commands/image/ImageCommand.java index 2ca908b..fd3d2a3 100644 --- a/src/main/java/org/virep/jdabot/commands/image/ImageCommand.java +++ b/src/main/java/org/virep/jdabot/commands/image/ImageCommand.java @@ -15,7 +15,7 @@ import org.json.JSONArray; import org.json.JSONObject; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import org.virep.jdabot.utils.Utils; @@ -25,7 +25,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; -public class ImageCommand implements Command { +public class ImageCommand implements SlashCommand { @Override public String getName() { return "image"; diff --git a/src/main/java/org/virep/jdabot/commands/infos/InfoCommand.java b/src/main/java/org/virep/jdabot/commands/infos/InfoCommand.java index a0d2905..2f26344 100644 --- a/src/main/java/org/virep/jdabot/commands/infos/InfoCommand.java +++ b/src/main/java/org/virep/jdabot/commands/infos/InfoCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; @@ -23,7 +23,7 @@ import static org.virep.jdabot.utils.Utils.badgesToEmote; -public class InfoCommand implements Command { +public class InfoCommand implements SlashCommand { @Override public String getName() { return "info"; diff --git a/src/main/java/org/virep/jdabot/commands/infos/StatsCommand.java b/src/main/java/org/virep/jdabot/commands/infos/StatsCommand.java index a0d7c33..2dd4a2d 100644 --- a/src/main/java/org/virep/jdabot/commands/infos/StatsCommand.java +++ b/src/main/java/org/virep/jdabot/commands/infos/StatsCommand.java @@ -10,7 +10,7 @@ import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; @@ -21,7 +21,7 @@ import static org.virep.jdabot.utils.Utils.formatUptime; -public class StatsCommand implements Command { +public class StatsCommand implements SlashCommand { @Override public String getName() { return "stats"; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/BanCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/BanCommand.java index 5c81853..11c77f6 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/BanCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/BanCommand.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.requests.ErrorResponse; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.Utils; import java.util.ArrayList; @@ -23,7 +23,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; -public class BanCommand implements Command { +public class BanCommand implements SlashCommand { @Override public String getName() { return "ban"; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/BansCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/BansCommand.java index d815b8b..9ace595 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/BansCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/BansCommand.java @@ -11,14 +11,14 @@ import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import net.dv8tion.jda.api.interactions.components.buttons.Button; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.time.Instant; import java.util.*; import static org.virep.jdabot.utils.Utils.getPages; -public class BansCommand implements Command { +public class BansCommand implements SlashCommand { public static Map pageNumber = new HashMap<>(); @Override diff --git a/src/main/java/org/virep/jdabot/commands/moderation/KickCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/KickCommand.java index 57067fc..1723f50 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/KickCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/KickCommand.java @@ -11,14 +11,14 @@ import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class KickCommand implements Command { +public class KickCommand implements SlashCommand { @Override public String getName() { return "kick"; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/MuteCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/MuteCommand.java index cfabd53..fcbbaaa 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/MuteCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/MuteCommand.java @@ -15,7 +15,7 @@ import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.requests.ErrorResponse; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; @@ -27,7 +27,7 @@ import static org.virep.jdabot.utils.Utils.secondsToSeperatedTime; import static org.virep.jdabot.utils.Utils.timeStringToSeconds; -public class MuteCommand implements Command { +public class MuteCommand implements SlashCommand { @Override public String getName() { return "timeout"; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/PurgeCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/PurgeCommand.java index 02a330f..f8b522b 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/PurgeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/PurgeCommand.java @@ -15,14 +15,14 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class PurgeCommand implements Command { +public class PurgeCommand implements SlashCommand { @Override public String getName() { return "purge"; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/SlowmodeCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/SlowmodeCommand.java index 034ba53..71c0c17 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/SlowmodeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/SlowmodeCommand.java @@ -13,7 +13,7 @@ import net.dv8tion.jda.api.interactions.commands.build.*; import net.dv8tion.jda.api.interactions.commands.build.Commands; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.time.Duration; import java.time.format.DateTimeParseException; @@ -24,7 +24,7 @@ import static org.virep.jdabot.utils.Utils.secondsToSeperatedTime; -public class SlowmodeCommand implements Command { +public class SlowmodeCommand implements SlashCommand { @Override public String getName() { return "slowmode"; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/UnbanCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/UnbanCommand.java index 0f5f532..f89160b 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/UnbanCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/UnbanCommand.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.internal.utils.Helpers; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; @@ -22,7 +22,7 @@ import java.util.Optional; import java.util.regex.Matcher; -public class UnbanCommand implements Command { +public class UnbanCommand implements SlashCommand { @Override public String getName() { return "unban"; diff --git a/src/main/java/org/virep/jdabot/commands/moderation/WarnCommand.java b/src/main/java/org/virep/jdabot/commands/moderation/WarnCommand.java index d341150..667c3be 100644 --- a/src/main/java/org/virep/jdabot/commands/moderation/WarnCommand.java +++ b/src/main/java/org/virep/jdabot/commands/moderation/WarnCommand.java @@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory; import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import org.virep.jdabot.utils.Utils; @@ -40,7 +40,7 @@ import java.util.concurrent.TimeUnit; -public class WarnCommand implements Command { +public class WarnCommand implements SlashCommand { private static final Logger log = LoggerFactory.getLogger(WarnCommand.class); @Override diff --git a/src/main/java/org/virep/jdabot/commands/music/ClearQueueCommand.java b/src/main/java/org/virep/jdabot/commands/music/ClearQueueCommand.java index 1caa9c8..9e6aa76 100644 --- a/src/main/java/org/virep/jdabot/commands/music/ClearQueueCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/ClearQueueCommand.java @@ -11,14 +11,14 @@ import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import org.virep.jdabot.music.TrackScheduler; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class ClearQueueCommand implements Command { +public class ClearQueueCommand implements SlashCommand { @Override public String getName() { return "clearqueue"; diff --git a/src/main/java/org/virep/jdabot/commands/music/JoinCommand.java b/src/main/java/org/virep/jdabot/commands/music/JoinCommand.java index e173e9d..3597505 100644 --- a/src/main/java/org/virep/jdabot/commands/music/JoinCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/JoinCommand.java @@ -11,14 +11,14 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class JoinCommand implements Command { +public class JoinCommand implements SlashCommand { @Override public String getName() { return "join"; diff --git a/src/main/java/org/virep/jdabot/commands/music/LoopingCommand.java b/src/main/java/org/virep/jdabot/commands/music/LoopingCommand.java index f85c546..e8fa762 100644 --- a/src/main/java/org/virep/jdabot/commands/music/LoopingCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/LoopingCommand.java @@ -11,14 +11,14 @@ import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import org.virep.jdabot.music.TrackScheduler; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class LoopingCommand implements Command { +public class LoopingCommand implements SlashCommand { @Override public String getName() { return "looping"; diff --git a/src/main/java/org/virep/jdabot/commands/music/NowPlayingCommand.java b/src/main/java/org/virep/jdabot/commands/music/NowPlayingCommand.java index 8e2e1b8..d008e17 100644 --- a/src/main/java/org/virep/jdabot/commands/music/NowPlayingCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/NowPlayingCommand.java @@ -14,7 +14,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.Utils; import java.time.Instant; @@ -23,7 +23,7 @@ import java.util.List; import java.util.Objects; -public class NowPlayingCommand implements Command { +public class NowPlayingCommand implements SlashCommand { @Override public String getName() { return "nowplaying"; diff --git a/src/main/java/org/virep/jdabot/commands/music/PauseCommand.java b/src/main/java/org/virep/jdabot/commands/music/PauseCommand.java index 477e7cf..cb4abd0 100644 --- a/src/main/java/org/virep/jdabot/commands/music/PauseCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/PauseCommand.java @@ -11,14 +11,14 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class PauseCommand implements Command { +public class PauseCommand implements SlashCommand { @Override public String getName() { return "pause"; diff --git a/src/main/java/org/virep/jdabot/commands/music/PlayCommand.java b/src/main/java/org/virep/jdabot/commands/music/PlayCommand.java index 445b191..41a6c64 100644 --- a/src/main/java/org/virep/jdabot/commands/music/PlayCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/PlayCommand.java @@ -20,7 +20,7 @@ import org.virep.jdabot.music.AudioLoadHandler; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.io.IOException; import java.net.MalformedURLException; @@ -30,7 +30,7 @@ import java.util.List; import java.util.Objects; -public class PlayCommand implements Command { +public class PlayCommand implements SlashCommand { @Override public String getName() { diff --git a/src/main/java/org/virep/jdabot/commands/music/QueueCommand.java b/src/main/java/org/virep/jdabot/commands/music/QueueCommand.java index 20e8bae..99b540a 100644 --- a/src/main/java/org/virep/jdabot/commands/music/QueueCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/QueueCommand.java @@ -15,7 +15,7 @@ import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import org.virep.jdabot.music.TrackScheduler; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.awt.*; import java.time.Instant; @@ -24,7 +24,7 @@ import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -public class QueueCommand implements Command { +public class QueueCommand implements SlashCommand { @Override public String getName() { return "queue"; diff --git a/src/main/java/org/virep/jdabot/commands/music/ResumeCommand.java b/src/main/java/org/virep/jdabot/commands/music/ResumeCommand.java index cff5efb..93b6796 100644 --- a/src/main/java/org/virep/jdabot/commands/music/ResumeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/ResumeCommand.java @@ -11,14 +11,14 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class ResumeCommand implements Command { +public class ResumeCommand implements SlashCommand { @Override public String getName() { return "resume"; diff --git a/src/main/java/org/virep/jdabot/commands/music/SeekCommand.java b/src/main/java/org/virep/jdabot/commands/music/SeekCommand.java index 33bd8c6..b104ce2 100644 --- a/src/main/java/org/virep/jdabot/commands/music/SeekCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/SeekCommand.java @@ -14,7 +14,7 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; @@ -23,7 +23,7 @@ import static org.virep.jdabot.utils.Utils.lengthToMillis; -public class SeekCommand implements Command { +public class SeekCommand implements SlashCommand { @Override public String getName() { return "seek"; diff --git a/src/main/java/org/virep/jdabot/commands/music/ShuffleCommand.java b/src/main/java/org/virep/jdabot/commands/music/ShuffleCommand.java index 25455f6..4b5e35d 100644 --- a/src/main/java/org/virep/jdabot/commands/music/ShuffleCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/ShuffleCommand.java @@ -11,14 +11,14 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class ShuffleCommand implements Command { +public class ShuffleCommand implements SlashCommand { @Override public String getName() { return "shuffle"; diff --git a/src/main/java/org/virep/jdabot/commands/music/SkipCommand.java b/src/main/java/org/virep/jdabot/commands/music/SkipCommand.java index 1694616..204b0f7 100644 --- a/src/main/java/org/virep/jdabot/commands/music/SkipCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/SkipCommand.java @@ -14,14 +14,14 @@ import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import org.virep.jdabot.music.TrackScheduler; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class SkipCommand implements Command { +public class SkipCommand implements SlashCommand { @Override public String getName() { return "skip"; diff --git a/src/main/java/org/virep/jdabot/commands/music/StopCommand.java b/src/main/java/org/virep/jdabot/commands/music/StopCommand.java index 870a6fa..d9b8383 100644 --- a/src/main/java/org/virep/jdabot/commands/music/StopCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/StopCommand.java @@ -9,14 +9,14 @@ import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class StopCommand implements Command { +public class StopCommand implements SlashCommand { @Override public String getName() { return "stop"; diff --git a/src/main/java/org/virep/jdabot/commands/music/VolumeCommand.java b/src/main/java/org/virep/jdabot/commands/music/VolumeCommand.java index 2615fea..746811b 100644 --- a/src/main/java/org/virep/jdabot/commands/music/VolumeCommand.java +++ b/src/main/java/org/virep/jdabot/commands/music/VolumeCommand.java @@ -14,14 +14,14 @@ import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; -public class VolumeCommand implements Command { +public class VolumeCommand implements SlashCommand { @Override public String getName() { return "volume"; diff --git a/src/main/java/org/virep/jdabot/handlers/Command.java b/src/main/java/org/virep/jdabot/handlers/SlashCommand.java similarity index 93% rename from src/main/java/org/virep/jdabot/handlers/Command.java rename to src/main/java/org/virep/jdabot/handlers/SlashCommand.java index ab9b391..3229fb2 100644 --- a/src/main/java/org/virep/jdabot/handlers/Command.java +++ b/src/main/java/org/virep/jdabot/handlers/SlashCommand.java @@ -6,7 +6,7 @@ import java.util.List; -public interface Command { +public interface SlashCommand { public String getName(); public SlashCommandData getCommandData(); diff --git a/src/main/java/org/virep/jdabot/handlers/SlashHandler.java b/src/main/java/org/virep/jdabot/handlers/SlashHandler.java index 897bd22..9a0b151 100644 --- a/src/main/java/org/virep/jdabot/handlers/SlashHandler.java +++ b/src/main/java/org/virep/jdabot/handlers/SlashHandler.java @@ -14,7 +14,7 @@ public class SlashHandler { private final JDA jda; - public static final Map slashCommandMap = new HashMap<>(); + public static final Map slashCommandMap = new HashMap<>(); public SlashHandler(JDA jda) { this.jda = jda; @@ -32,14 +32,14 @@ public void addCommands() throws NoSuchMethodException, InvocationTargetExceptio CommandListUpdateAction guildUpdate = guild.updateCommands(); Reflections reflectionsCommands = new Reflections("org.virep.jdabot.commands"); - Set> commandClasses = reflectionsCommands.getSubTypesOf(Command.class); + Set> commandClasses = reflectionsCommands.getSubTypesOf(SlashCommand.class); - for (Class commandClass : commandClasses) { + for (Class commandClass : commandClasses) { if (Modifier.isAbstract(commandClass.getModifiers())) { continue; } - Command command = commandClass.getConstructor().newInstance(); + SlashCommand command = commandClass.getConstructor().newInstance(); if (command.isDev()) guildUpdate.addCommands(command.getCommandData()); else globalUpdate.addCommands(command.getCommandData()); @@ -51,7 +51,7 @@ public void addCommands() throws NoSuchMethodException, InvocationTargetExceptio guildUpdate.queue(); } - public Map getSlashCommandMap() { + public Map getSlashCommandMap() { return slashCommandMap; } } diff --git a/src/main/java/org/virep/jdabot/listeners/SlashListener.java b/src/main/java/org/virep/jdabot/listeners/SlashListener.java index 522db04..f95120e 100644 --- a/src/main/java/org/virep/jdabot/listeners/SlashListener.java +++ b/src/main/java/org/virep/jdabot/listeners/SlashListener.java @@ -6,7 +6,7 @@ import net.dv8tion.jda.api.hooks.ListenerAdapter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.virep.jdabot.handlers.Command; +import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.handlers.SlashHandler; import org.virep.jdabot.utils.Config; import org.virep.jdabot.utils.Utils; @@ -33,11 +33,11 @@ public void onSlashCommandInteraction(@Nonnull SlashCommandInteractionEvent even return; } String commandName = event.getName(); - Map commandMap = slashHandler.getSlashCommandMap(); + Map commandMap = slashHandler.getSlashCommandMap(); if (commandMap.containsKey(commandName)) { - Command command = commandMap.get(commandName); + SlashCommand command = commandMap.get(commandName); List missingBotPermissions = Utils.getMissingPermissions(event.getGuild().getSelfMember().getPermissions(), command.getBotPermissions()); if (!missingBotPermissions.isEmpty()) { From 4815003015127e43aa6c8eab519c600b26dd56e1 Mon Sep 17 00:00:00 2001 From: chocololat Date: Mon, 16 Oct 2023 22:14:51 +0200 Subject: [PATCH 07/13] feat: added a TextCommand handler --- src/main/java/org/virep/jdabot/Main.java | 6 +++ .../virep/jdabot/handlers/TextCommand.java | 11 ++++ .../virep/jdabot/handlers/TextHandler.java | 52 +++++++++++++++++++ .../jdabot/listeners/TextCommandListener.java | 37 +++++++++++++ 4 files changed, 106 insertions(+) create mode 100644 src/main/java/org/virep/jdabot/handlers/TextCommand.java create mode 100644 src/main/java/org/virep/jdabot/handlers/TextHandler.java create mode 100644 src/main/java/org/virep/jdabot/listeners/TextCommandListener.java diff --git a/src/main/java/org/virep/jdabot/Main.java b/src/main/java/org/virep/jdabot/Main.java index 6811a09..8c7decf 100644 --- a/src/main/java/org/virep/jdabot/Main.java +++ b/src/main/java/org/virep/jdabot/Main.java @@ -10,6 +10,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.virep.jdabot.database.Database; +import org.virep.jdabot.handlers.TextHandler; import org.virep.jdabot.language.Language; import org.virep.jdabot.listeners.AfkListener; import org.virep.jdabot.listeners.AutoroleListener; @@ -22,6 +23,7 @@ import org.virep.jdabot.listeners.SelectMenuInteractionListener; import org.virep.jdabot.handlers.SlashHandler; import org.virep.jdabot.listeners.SlashListener; +import org.virep.jdabot.listeners.TextCommandListener; import org.virep.jdabot.utils.Config; import java.net.URI; @@ -68,10 +70,14 @@ public static void main(String[] args) throws Exception { Language.getLanguages(); SlashHandler slashHandler = new SlashHandler(jda); + TextHandler textHandler = new TextHandler(); jda.addEventListener(new SlashListener(slashHandler)); + jda.addEventListener(new TextCommandListener(new TextHandler())); slashHandler.addCommands(); + textHandler.addCommands(); + log.info("Slash Commands registered"); lavalink.setAutoReconnect(true); diff --git a/src/main/java/org/virep/jdabot/handlers/TextCommand.java b/src/main/java/org/virep/jdabot/handlers/TextCommand.java new file mode 100644 index 0000000..7309640 --- /dev/null +++ b/src/main/java/org/virep/jdabot/handlers/TextCommand.java @@ -0,0 +1,11 @@ +package org.virep.jdabot.handlers; + +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; + +public interface TextCommand { + public String getName(); + + public boolean isDev(); + + public void execute(MessageReceivedEvent event, String[] args); +} diff --git a/src/main/java/org/virep/jdabot/handlers/TextHandler.java b/src/main/java/org/virep/jdabot/handlers/TextHandler.java new file mode 100644 index 0000000..db5e69a --- /dev/null +++ b/src/main/java/org/virep/jdabot/handlers/TextHandler.java @@ -0,0 +1,52 @@ +package org.virep.jdabot.handlers; + +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.requests.restaction.CommandListUpdateAction; +import org.reflections.Reflections; + +import java.io.FileNotFoundException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Modifier; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +public class TextHandler { + public static final Map textCommandMap = new HashMap<>(); + + + // IntelliJ thinks CommandListUpdateAction#addCommands() result is ignored + // though it is queued line 38 + + @SuppressWarnings("ResultOfMethodCallIgnored") + public void addCommands() throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, FileNotFoundException { + Reflections reflectionsCommands = new Reflections("org.virep.jdabot.textcommands"); + Set> commandClasses = reflectionsCommands.getSubTypesOf(TextCommand.class); + + for (Class commandClass : commandClasses) { + if (Modifier.isAbstract(commandClass.getModifiers())) { + continue; + } + + TextCommand command = commandClass.getConstructor().newInstance(); + + textCommandMap.put(command.getName(), command); + } + } + + public Map getTextCommandMap() { + return textCommandMap; + } + + public void handleCommand(MessageReceivedEvent event, String commandName, String[] args) { + TextCommand command = textCommandMap.get(commandName); + + if (command != null) { + if (command.isDev() && !event.getChannel().getId().equals("580657468821078017")) return; + + command.execute(event, args); + } + } +} diff --git a/src/main/java/org/virep/jdabot/listeners/TextCommandListener.java b/src/main/java/org/virep/jdabot/listeners/TextCommandListener.java new file mode 100644 index 0000000..a05dd46 --- /dev/null +++ b/src/main/java/org/virep/jdabot/listeners/TextCommandListener.java @@ -0,0 +1,37 @@ +package org.virep.jdabot.listeners; + +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.hooks.ListenerAdapter; +import org.jetbrains.annotations.NotNull; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.virep.jdabot.handlers.SlashHandler; +import org.virep.jdabot.handlers.TextHandler; + +import javax.annotation.Nonnull; +import java.util.Arrays; + +public class TextCommandListener extends ListenerAdapter { + private final TextHandler textHandler; + private final String prefix = "h!"; + + private final static Logger log = LoggerFactory.getLogger(TextCommandListener.class); + + public TextCommandListener(TextHandler textHandler) { this.textHandler = textHandler;} + + @Override + public void onMessageReceived(@NotNull MessageReceivedEvent event) { + if (event.getAuthor().isBot()) return; + if (!event.getAuthor().getId().equals("604779545018761237")) return; + + String messageContent = event.getMessage().getContentRaw(); + + if (messageContent.startsWith("h!")) { + String[] commandArgs = messageContent.substring(prefix.length()).split("\\s+"); + String commandName = commandArgs[0].toLowerCase(); + String[] args = Arrays.copyOfRange(commandArgs, 1, commandArgs.length); + + textHandler.handleCommand(event, commandName, args); + } + } +} From 7dff01b68905d3017a022ad408115d83aeff806e Mon Sep 17 00:00:00 2001 From: chocololat Date: Mon, 16 Oct 2023 22:21:03 +0200 Subject: [PATCH 08/13] chore: moved game commands to the textcommand folder --- .../InventoryCommand.java | 35 +++++++------------ .../RegisterCommand.java | 2 +- 2 files changed, 14 insertions(+), 23 deletions(-) rename src/main/java/org/virep/jdabot/{commands/game => textcommands}/InventoryCommand.java (81%) rename src/main/java/org/virep/jdabot/{commands/game => textcommands}/RegisterCommand.java (98%) diff --git a/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java b/src/main/java/org/virep/jdabot/textcommands/InventoryCommand.java similarity index 81% rename from src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java rename to src/main/java/org/virep/jdabot/textcommands/InventoryCommand.java index 7813bde..28a70ae 100644 --- a/src/main/java/org/virep/jdabot/commands/game/InventoryCommand.java +++ b/src/main/java/org/virep/jdabot/textcommands/InventoryCommand.java @@ -1,10 +1,12 @@ -package org.virep.jdabot.commands.game; +package org.virep.jdabot.textcommands; import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.interactions.commands.build.Commands; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.components.selections.StringSelectMenu; @@ -12,8 +14,8 @@ import org.json.JSONTokener; import org.virep.jdabot.commands.games.ActivityCommand; import org.virep.jdabot.database.Database; +import org.virep.jdabot.handlers.TextCommand; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.SlashCommand; import org.virep.jdabot.utils.ErrorManager; import java.awt.*; @@ -27,42 +29,31 @@ import java.util.Collections; import java.util.List; -public class InventoryCommand implements SlashCommand { +public class InventoryCommand implements TextCommand { @Override public String getName() { return "inventory"; } - @Override - public SlashCommandData getCommandData() { - return Commands.slash(getName(), "Displays your Game Inventory"); - } - - @Override - public List getBotPermissions() { - List perms = new ArrayList<>(); - Collections.addAll(perms, Permission.MESSAGE_EMBED_LINKS); - - return perms; - } - @Override public boolean isDev() { return true; } + //TODO: Don't display resources the player doesn't have @Override - public void execute(SlashCommandInteractionEvent event) { + public void execute(MessageReceivedEvent event, String[] args) throws SQLException { Guild guild = event.getGuild(); + Message message = event.getMessage(); try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { - statement.setString(1, event.getUser().getId()); + statement.setString(1, event.getAuthor().getId()); ResultSet result = statement.executeQuery(); if (!result.first()) { - event.reply(Language.getString("INVENTORY_NOT_REGISTERED", guild)).queue(); + message.reply(Language.getString("INVENTORY_NOT_REGISTERED", guild)).queue(); return; } @@ -72,7 +63,7 @@ public void execute(SlashCommandInteractionEvent event) { JSONObject itemObject = new JSONObject(tokener); MessageEmbed embed = new EmbedBuilder() - .setTitle(String.format(Language.getString("INVENTORY_EMBED_GENERAL_TITLE", guild), event.getUser().getName())) + .setTitle(String.format(Language.getString("INVENTORY_EMBED_GENERAL_TITLE", guild), event.getAuthor().getName())) .setColor(Color.RED) .addField("General", Language.getString("INVENTORY_EMBED_GENERAL_FIELD_ONE", guild).formatted(result.getInt("level"), result.getInt("xp"), 0, result.getInt("mana"), 100, result.getInt("hp"), 100), true) .addField("Items", Language.getString("INVENTORY_EMBED_GENERAL_FIELD_ITEMS", guild).formatted( @@ -94,9 +85,9 @@ public void execute(SlashCommandInteractionEvent event) { .setMinValues(1) .build(); - event.replyEmbeds(embed).addActionRow(selectMenu).queue(); + message.replyEmbeds(embed).addActionRow(selectMenu).queue(); } catch (SQLException e) { - ErrorManager.handle(e, event); + throw new SQLException(e); } } } diff --git a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java b/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java similarity index 98% rename from src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java rename to src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java index c44fc8e..9ca56cb 100644 --- a/src/main/java/org/virep/jdabot/commands/game/RegisterCommand.java +++ b/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java @@ -1,4 +1,4 @@ -package org.virep.jdabot.commands.game; +package org.virep.jdabot.textcommands; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Guild; From 271fa7bdb6b50a89bf202fddc6464235f2916da4 Mon Sep 17 00:00:00 2001 From: chocololat Date: Mon, 16 Oct 2023 22:23:10 +0200 Subject: [PATCH 09/13] chore: added SQLException to the TextCommand class --- src/main/java/org/virep/jdabot/handlers/TextCommand.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/virep/jdabot/handlers/TextCommand.java b/src/main/java/org/virep/jdabot/handlers/TextCommand.java index 7309640..e2f77da 100644 --- a/src/main/java/org/virep/jdabot/handlers/TextCommand.java +++ b/src/main/java/org/virep/jdabot/handlers/TextCommand.java @@ -2,10 +2,12 @@ import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import java.sql.SQLException; + public interface TextCommand { public String getName(); public boolean isDev(); - public void execute(MessageReceivedEvent event, String[] args); + public void execute(MessageReceivedEvent event, String[] args) throws SQLException; } From 8410e4be0fa337edd05f099efab0491fb0c8c0a7 Mon Sep 17 00:00:00 2001 From: chocololat Date: Mon, 16 Oct 2023 22:23:25 +0200 Subject: [PATCH 10/13] ref(RegisterCommand): adapted to text commands --- .../jdabot/textcommands/RegisterCommand.java | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java b/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java index 9ca56cb..344f44a 100644 --- a/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java +++ b/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java @@ -1,63 +1,49 @@ package org.virep.jdabot.textcommands; -import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; -import net.dv8tion.jda.api.interactions.commands.build.Commands; -import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.virep.jdabot.database.Database; +import org.virep.jdabot.handlers.TextCommand; import org.virep.jdabot.language.Language; -import org.virep.jdabot.handlers.SlashCommand; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.Collections; -import java.util.List; -public class RegisterCommand implements SlashCommand { +public class RegisterCommand implements TextCommand { @Override public String getName() { return "register"; } - - @Override - public SlashCommandData getCommandData() { - return Commands.slash(getName(), "Register and start your Melyca Adventure!"); - } - - @Override - public List getBotPermissions() { - return Collections.emptyList(); - } - @Override public boolean isDev() { return true; } @Override - public void execute(SlashCommandInteractionEvent event) { + public void execute(MessageReceivedEvent event, String[] args) throws SQLException { Guild guild = event.getGuild(); + Message message = event.getMessage(); try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { - statement.setString(1, event.getUser().getId()); + statement.setString(1, event.getAuthor().getId()); ResultSet result = statement.executeQuery(); if (result.first()) { - event.reply(Language.getString("REGISTER_ALREADY_REGISTERED", guild)).queue(); + message.reply(Language.getString("REGISTER_ALREADY_REGISTERED", guild)).queue(); return; } PreparedStatement insertStatement = connection.prepareStatement("INSERT INTO inventory (userID) VALUES (?)"); - insertStatement.setString(1, event.getUser().getId()); + insertStatement.setString(1, event.getAuthor().getId()); insertStatement.executeUpdate(); - event.reply(Language.getString("REGISTER_REGISTERED", guild)).queue(); + message.reply(Language.getString("REGISTER_REGISTERED", guild)).queue(); } catch (SQLException e) { throw new RuntimeException(e); } From b04c0680cfb7995a8da6fbe162f0f60a522cea9b Mon Sep 17 00:00:00 2001 From: mesalytic Date: Wed, 18 Oct 2023 22:46:59 +0200 Subject: [PATCH 11/13] fix: added excpetions throws --- src/main/java/org/virep/jdabot/handlers/TextHandler.java | 3 ++- .../org/virep/jdabot/listeners/TextCommandListener.java | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/virep/jdabot/handlers/TextHandler.java b/src/main/java/org/virep/jdabot/handlers/TextHandler.java index db5e69a..c648927 100644 --- a/src/main/java/org/virep/jdabot/handlers/TextHandler.java +++ b/src/main/java/org/virep/jdabot/handlers/TextHandler.java @@ -9,6 +9,7 @@ import java.io.FileNotFoundException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; +import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -40,7 +41,7 @@ public Map getTextCommandMap() { return textCommandMap; } - public void handleCommand(MessageReceivedEvent event, String commandName, String[] args) { + public void handleCommand(MessageReceivedEvent event, String commandName, String[] args) throws SQLException { TextCommand command = textCommandMap.get(commandName); if (command != null) { diff --git a/src/main/java/org/virep/jdabot/listeners/TextCommandListener.java b/src/main/java/org/virep/jdabot/listeners/TextCommandListener.java index a05dd46..6093561 100644 --- a/src/main/java/org/virep/jdabot/listeners/TextCommandListener.java +++ b/src/main/java/org/virep/jdabot/listeners/TextCommandListener.java @@ -9,6 +9,7 @@ import org.virep.jdabot.handlers.TextHandler; import javax.annotation.Nonnull; +import java.sql.SQLException; import java.util.Arrays; public class TextCommandListener extends ListenerAdapter { @@ -31,7 +32,11 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) { String commandName = commandArgs[0].toLowerCase(); String[] args = Arrays.copyOfRange(commandArgs, 1, commandArgs.length); - textHandler.handleCommand(event, commandName, args); + try { + textHandler.handleCommand(event, commandName, args); + } catch (SQLException e) { + throw new RuntimeException(e); + } } } } From 3354a2490c94f9cdacd8754926680d8d2ed0ffa9 Mon Sep 17 00:00:00 2001 From: mesalytic Date: Wed, 18 Oct 2023 22:57:51 +0200 Subject: [PATCH 12/13] chore: updated JDA to 5.0.0-beta.15 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 988f9e5..9c50a19 100644 --- a/pom.xml +++ b/pom.xml @@ -47,7 +47,7 @@ net.dv8tion JDA - 5.0.0-beta.12 + 5.0.0-beta.15 io.github.cdimascio @@ -57,7 +57,7 @@ com.github.mesalytic Lavalink-Client - 5821488fbf + 08a01bda67 org.reflections From 5e505a05c329c12755eeec8816a76ebbb061a189 Mon Sep 17 00:00:00 2001 From: mesalytic Date: Tue, 24 Oct 2023 01:17:36 +0200 Subject: [PATCH 13/13] ref: revamped RegisterCommand to more match the lore of the game --- .../listeners/ButtonInteractionListener.java | 41 +++++++++++++ .../jdabot/textcommands/RegisterCommand.java | 61 ++++++++++++++++++- src/main/resources/lang.json | 6 -- 3 files changed, 99 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/virep/jdabot/listeners/ButtonInteractionListener.java b/src/main/java/org/virep/jdabot/listeners/ButtonInteractionListener.java index c0a78e7..a991d4c 100644 --- a/src/main/java/org/virep/jdabot/listeners/ButtonInteractionListener.java +++ b/src/main/java/org/virep/jdabot/listeners/ButtonInteractionListener.java @@ -4,16 +4,21 @@ import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; +import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.components.buttons.Button; import net.dv8tion.jda.api.utils.AttachedFile; import net.dv8tion.jda.api.utils.FileUpload; import org.virep.jdabot.commands.games.TTTCommand; import org.virep.jdabot.commands.moderation.BansCommand; +import org.virep.jdabot.database.Database; import org.virep.jdabot.language.Language; import org.virep.jdabot.music.AudioManagerController; import org.virep.jdabot.music.GuildAudioManager; import javax.annotation.Nonnull; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; import java.time.Instant; import java.util.List; import java.util.Map; @@ -28,6 +33,42 @@ public void onButtonInteraction(@Nonnull ButtonInteractionEvent event) { Guild guild = event.getGuild(); Button button = event.getButton(); + if (button.getId().equals("button:register:accept")) { + + event.getMessage().editMessage(""" + **Rift Pulse: Rules of Engagement** + + Welcome, esteemed Netrunner! Your unique identity has been etched into the annals of the virtual world. As you prepare to delve into the Ciphered Nexus, here are the rules you must abide by: + + 1. **Respect Others:** Treat your fellow Netrunners with courtesy and respect. Healthy discourse enriches our shared experience. + 2. **No Spoilers:** Guard the secrets of the game. Avoid revealing in-game information or puzzle solutions to maintain the thrill for everyone. + 3. **Fair Play:** Uphold the spirit of fair competition. Do not resort to cheats, hacks, or exploits. The challenge makes victory sweeter. + 4. **Immerse Yourself:** Embrace the world of Rift Pulse. Develop a character, interact with NPCs, and explore the narrative depths. + 5. **Have Fun:** Ultimately, this world is crafted for your enjoyment. Let your creativity thrive, and revel in the stories you create. + + Your commitment to these principles ensures a vibrant and engaging experience for all Netrunners. Your journey begins now. Type `!help` to familiarize yourself with available commands. + + May your code be elegant, and your exploits legendary. The digital realm eagerly anticipates your influence. + + """).setComponents().queue(); + + try (Connection connection = Database.getConnection(); PreparedStatement insertStatement = connection.prepareStatement("INSERT INTO game_profile (userID) VALUES (?)")) { + insertStatement.setString(1, event.getUser().getId()); + + insertStatement.executeUpdate(); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } else if (button.getId().equals("button:register:cancel")) { + event.getMessage().editMessage(""" + **Rift Pulse: Registration** + + Understood. If you change your mind and decide to join the adventure, simply type `!register` anytime. + + Thank you for considering Rift Pulse: Chronicles of the Ciphered Nexus. + """).setComponents().queue(); + } + if (button.getId().startsWith("button:bans")) { String[] labels = button.getId().split(":"); diff --git a/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java b/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java index 344f44a..70c7cea 100644 --- a/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java +++ b/src/main/java/org/virep/jdabot/textcommands/RegisterCommand.java @@ -3,9 +3,9 @@ import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.interactions.components.buttons.Button; import org.virep.jdabot.database.Database; import org.virep.jdabot.handlers.TextCommand; -import org.virep.jdabot.language.Language; import java.sql.Connection; import java.sql.PreparedStatement; @@ -27,7 +27,62 @@ public void execute(MessageReceivedEvent event, String[] args) throws SQLExcepti Guild guild = event.getGuild(); Message message = event.getMessage(); - try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { + try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM game_profile WHERE userID = ?")) { + statement.setString(1, event.getAuthor().getId()); + + ResultSet result = statement.executeQuery(); + + if (result.first()) { + message.reply(""" + **Rift Pulse: Welcome Back, Netrunner!** + + Greetings, seasoned Netrunner! + + Your presence in the Ciphered Nexus is recognized. + You stand as a stalwart guardian of digital secrets and a master of the virtual realm. + + As you continue your journey through the world of Rift Pulse, remember that your choices carry weight and your skills are invaluable. + Dive deeper into the enigmatic missions, uncover hidden truths, and interact with the intricate web of characters that populate our digital universe. + + Should you need assistance or wish to embark on a new adventure, type `!help` for available commands or `!missions` to explore ongoing tasks. + + May your code be flawless, and your path in the Nexus be ever thrilling. Happy hacking, Netrunner! + """).queue(); + + return; + } + + message.reply(""" +**Rift Pulse: Registration and Rules** + +Welcome to **Rift Pulse: Chronicles of the Ciphered Nexus**! +In the depths of the digital abyss, where algorithms dance and secrets lie encoded, you stand on the precipice of a world veiled in shadows. + +Rift Pulse is not just a game; it is an odyssey through the enigmatic corridors of cyberspace. Here, amidst the neon-lit networks and encrypted databases, you'll craft your destiny as a Netrunner, a digital adept skilled in the art of hacking. +Prepare to traverse a universe where hackers and corporations engage in an eternal dance of intrigue, where every keystroke could shape the fate of nations. +In this vast digital expanse, the line between reality and virtuality blurs, and the choices you make echo across the digital ether. + +Before you enter this intricate realm of digital enigmas, we invite you to embark on a journey that transcends mere lines of code. +Embark on thrilling missions that challenge your intellect, navigate complex webs of conspiracy, and uncover secrets that hold the fate of worlds. + +Alongside fellow Netrunners, you will confront corporate titans, decipher cryptic puzzles, and decide the destinies of digital empires. + +The Ciphered Nexus awaits your presence, Netrunner. +Will you be the one to uncover the ultimate truth, or will you succumb to the shadows? + +Your adventure begins now. + +Would you like to register and venture into this captivating world? + """) + .addActionRow( + Button.success("button:register:accept", "Register"), + Button.danger("button:register:cancel", "Cancel") + ).queue(); + } + +// message.reply().addComponents() + + /*try (Connection connection = Database.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM inventory WHERE userID = ?")) { statement.setString(1, event.getAuthor().getId()); ResultSet result = statement.executeQuery(); @@ -46,6 +101,6 @@ public void execute(MessageReceivedEvent event, String[] args) throws SQLExcepti message.reply(Language.getString("REGISTER_REGISTERED", guild)).queue(); } catch (SQLException e) { throw new RuntimeException(e); - } + }*/ } } diff --git a/src/main/resources/lang.json b/src/main/resources/lang.json index e7fb132..cb83a70 100644 --- a/src/main/resources/lang.json +++ b/src/main/resources/lang.json @@ -77,9 +77,6 @@ "INVENTORY_SELECTMENU_INDUSTRIAL_TITLE": "Ressources Industrielles", "INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION": "Pétroles, Ressources de machinerie, etc...", - "REGISTER_ALREADY_REGISTERED": "\u274C - Vous êtes déjà inscrit !", - "REGISTER_REGISTERED": "\u2705 - Vous avez bien été inscrit ! Bienvenue dans le monde de Melyca.", - "ACTIVITY_NOEXIST": "\u274C - Cette activité n'existe apparemment pas, veuillez signaler l'erreur.", "ACTIVITY_BOOSTREQUIRED": "\u274C - Vous devez avoir un niveau de boost égal ou supérieur a 1.", "ACTIVITY_EMBED_REQUIRED": "Niveau Nitro Boost requis: ", @@ -444,9 +441,6 @@ "INVENTORY_SELECTMENU_INDUSTRIAL_TITLE": "Industrial Resources", "INVENTORY_SELECTMENU_INDUSTRIAL_DESCRIPTION": "Oil, Machinery Resources, etc...", - "REGISTER_ALREADY_REGISTERED": "\u274C - You're already registered !", - "REGISTER_REGISTERED": "\u2705 - You've been successfully registered ! Welcome to the World of Melyca.", - "ACTIVITY_NOEXIST": "\u274C - This activity somehow doesn't exist, please report the error.", "ACTIVITY_BOOSTREQUIRED": "\u274C - You must be at least Boost Level 1 to start this activity.", "ACTIVITY_EMBED_REQUIRED": "Required Nitro Boost Level: ",