From 7d0fbe37d41286ed90d6bef2c123caf09c39bd52 Mon Sep 17 00:00:00 2001 From: Salmonllama Date: Thu, 10 Sep 2020 21:37:20 -0400 Subject: [PATCH] enum-ified command categories --- .../developer/BlacklistUserCommand.java | 7 +- .../developer/CreateGalleryCommand.java | 7 +- .../commands/developer/DefaultCommand.java | 7 +- .../commands/developer/InviteCommand.java | 7 +- .../commands/developer/PermissionCommand.java | 7 +- .../fsbot/commands/developer/TestCommand.java | 10 +- .../fsbot/commands/general/ColorCommand.java | 7 +- .../fsbot/commands/general/ColorsCommand.java | 7 +- .../fsbot/commands/general/HelpCommand.java | 8 +- .../fsbot/commands/general/OutfitCommand.java | 7 +- .../fsbot/commands/general/PingCommand.java | 7 +- .../commands/general/PrivacyCommand.java | 7 +- .../general/ShowGalleriesCommand.java | 7 +- .../fsbot/commands/general/StatsCommand.java | 7 +- .../commands/osrssearch/OsrsBodyCommand.java | 26 ++++ .../fsbot/commands/staff/EchoCommand.java | 7 +- .../commands/staff/GetOutfitCommand.java | 19 ++- .../commands/staff/GetServersCommand.java | 8 +- .../commands/staff/OutfitInfoCommand.java | 40 +++--- .../commands/staff/RemoveOutfitCommand.java | 109 ++++++++-------- .../fsbot/commands/staff/RetagCommand.java | 119 +++++++++--------- .../commands/staff/SetStatusCommand.java | 8 +- .../commands/staff/WelcomeMessageCommand.java | 7 +- .../dev/salmonllama/fsbot/guthix/Command.java | 2 +- .../fsbot/guthix/CommandCategory.java | 24 ++++ 25 files changed, 223 insertions(+), 248 deletions(-) create mode 100644 src/main/java/dev/salmonllama/fsbot/commands/osrssearch/OsrsBodyCommand.java create mode 100644 src/main/java/dev/salmonllama/fsbot/guthix/CommandCategory.java diff --git a/src/main/java/dev/salmonllama/fsbot/commands/developer/BlacklistUserCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/developer/BlacklistUserCommand.java index 5a8cfe4..a83490d 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/developer/BlacklistUserCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/developer/BlacklistUserCommand.java @@ -2,10 +2,7 @@ package dev.salmonllama.fsbot.commands.developer; import dev.salmonllama.fsbot.database.controllers.UserBlacklistController; import dev.salmonllama.fsbot.database.models.UserBlacklist; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import java.util.Arrays; @@ -15,7 +12,7 @@ public class BlacklistUserCommand extends Command { @Override public String name() { return "Blacklist User"; } @Override public String description() { return "Adds the user to the bot's blacklist, preventing them from using any commands or features"; } @Override public String usage() { return "blacklistuser "; } - @Override public String category() { return "Developer"; } + @Override public CommandCategory category() { return CommandCategory.DEVELOPER; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "owner"); } @Override public Collection aliases() { return Arrays.asList("blacklistuser", "bluser", "sabusr"); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/developer/CreateGalleryCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/developer/CreateGalleryCommand.java index 5838bc6..3c6d3c0 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/developer/CreateGalleryCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/developer/CreateGalleryCommand.java @@ -10,10 +10,7 @@ import com.vdurmont.emoji.EmojiParser; import dev.salmonllama.fsbot.config.BotConfig; import dev.salmonllama.fsbot.database.controllers.GalleryController; import dev.salmonllama.fsbot.database.models.GalleryChannel; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import org.javacord.api.util.logging.ExceptionLogger; @@ -26,7 +23,7 @@ public class CreateGalleryCommand extends Command { // TODO: This command needs @Override public String name() { return "Create Gallery"; } @Override public String description() { return "Creates a channel gallery, tracking any posted images"; } @Override public String usage() { return "creategallery "; } - @Override public String category() { return "Developer"; } + @Override public CommandCategory category() { return CommandCategory.DEVELOPER; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "owner"); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("creategallery", "addgallery", "newgallery")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/developer/DefaultCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/developer/DefaultCommand.java index ad811a4..ee3ac6e 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/developer/DefaultCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/developer/DefaultCommand.java @@ -1,9 +1,6 @@ package dev.salmonllama.fsbot.commands.developer; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import java.util.Collection; @@ -13,7 +10,7 @@ public class DefaultCommand extends Command { @Override public String name() { return "Default"; } @Override public String description() { return "The command that gets invoked when the prefix is used, but the command is not recognized"; } @Override public String usage() { return "you don't use this command"; } - @Override public String category() { return "Invisible"; } + @Override public CommandCategory category() { return CommandCategory.DEVELOPER; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.OWNER); } @Override public Collection aliases() { return Collections.singletonList("default"); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/developer/InviteCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/developer/InviteCommand.java index 487e8de..8c49b64 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/developer/InviteCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/developer/InviteCommand.java @@ -5,10 +5,7 @@ package dev.salmonllama.fsbot.commands.developer; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.DiscordApi; import org.javacord.api.entity.channel.TextChannel; @@ -20,7 +17,7 @@ public class InviteCommand extends Command { @Override public String name() { return "Invite"; } @Override public String description() { return "Spits out a bot invite"; } @Override public String usage() { return "invite"; } - @Override public String category() { return "Developer"; } + @Override public CommandCategory category() { return CommandCategory.DEVELOPER; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "owner"); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("invite", "inv")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/developer/PermissionCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/developer/PermissionCommand.java index 676c7d6..bc70722 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/developer/PermissionCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/developer/PermissionCommand.java @@ -7,10 +7,7 @@ package dev.salmonllama.fsbot.commands.developer; import dev.salmonllama.fsbot.database.controllers.StaticPermissionController; import dev.salmonllama.fsbot.database.models.StaticPermission; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import org.javacord.api.entity.user.User; import org.javacord.api.util.logging.ExceptionLogger; @@ -24,7 +21,7 @@ public class PermissionCommand extends Command { @Override public String name() { return "Permission"; } @Override public String description() { return "Manages a user's static permissions"; } @Override public String usage() { return "permission "; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.DEVELOPER; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.OWNER); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("permission", "permissions", "perm", "perms")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/developer/TestCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/developer/TestCommand.java index 7c109ee..8b73033 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/developer/TestCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/developer/TestCommand.java @@ -6,10 +6,7 @@ package dev.salmonllama.fsbot.commands.developer; import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import java.util.ArrayList; import java.util.Arrays; @@ -19,7 +16,7 @@ public class TestCommand extends Command { @Override public String name() { return "Test"; } @Override public String description() { return "A test command"; } @Override public String usage() { return "test"; } - @Override public String category() { return "Developer"; } + @Override public CommandCategory category() { return CommandCategory.DEVELOPER; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.OWNER); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("test", "t")); } @@ -28,7 +25,8 @@ public class TestCommand extends Command { ScapeFashionConnection conn = new ScapeFashionConnection(); try { - conn.osrsColor("#00ff00"); + var result = conn.osrsColor("#00ff00"); + ctx.reply(String.format("Best match: %s", result.getItems().get(0).toString())); } catch (Exception e) { ctx.reply(e.getMessage()); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/general/ColorCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/general/ColorCommand.java index ca11050..3233977 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/general/ColorCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/general/ColorCommand.java @@ -7,10 +7,7 @@ package dev.salmonllama.fsbot.commands.general; import dev.salmonllama.fsbot.config.BotConfig; import dev.salmonllama.fsbot.database.controllers.ColorRoleController; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.apache.logging.log4j.util.Strings; import org.javacord.api.entity.server.Server; import org.javacord.api.entity.user.User; @@ -23,7 +20,7 @@ public class ColorCommand extends Command { @Override public String name() { return "Color"; } @Override public String description() { return "Assigns the provided cosmetic role"; } @Override public String usage() { return "color "; } - @Override public String category() { return "General"; } + @Override public CommandCategory category() { return CommandCategory.GENERAL; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("color", "colour")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/general/ColorsCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/general/ColorsCommand.java index 6fa021e..7b61b73 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/general/ColorsCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/general/ColorsCommand.java @@ -7,10 +7,7 @@ package dev.salmonllama.fsbot.commands.general; import dev.salmonllama.fsbot.config.BotConfig; import dev.salmonllama.fsbot.database.controllers.ColorRoleController; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import java.util.ArrayList; @@ -21,7 +18,7 @@ public class ColorsCommand extends Command { @Override public String name() { return "Colors"; } @Override public String description() { return "Lists available cosmetic roles"; } @Override public String usage() { return "colors"; } - @Override public String category() { return "General"; } + @Override public CommandCategory category() { return CommandCategory.GENERAL; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("colors", "colours")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/general/HelpCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/general/HelpCommand.java index 224e331..73be01e 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/general/HelpCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/general/HelpCommand.java @@ -21,7 +21,7 @@ public class HelpCommand extends Command { @Override public String name() { return "Help"; } @Override public String description() { return "Shows all commands, or a specific command's information"; } @Override public String usage() { return "help [String command]"; } - @Override public String category() { return "General"; } + @Override public CommandCategory category() { return CommandCategory.GENERAL; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("help", "h")); } @@ -60,7 +60,7 @@ public class HelpCommand extends Command { List categories = new ArrayList<>(); for (Command cmd : guthix.listCommands()) { - String category = cmd.category(); + String category = cmd.category().getCategory(); if (!categories.contains(category)) { categories.add(category); @@ -82,7 +82,7 @@ public class HelpCommand extends Command { StringBuilder builder = new StringBuilder().append("```yml"); for (Command cmd : guthix.listCommands()) { - String cat = cmd.category().toLowerCase(); + String cat = cmd.category().getCategory().toLowerCase(); if (cat.equals(category.toLowerCase())) { builder.append("\n- ").append(cmd.name()); } @@ -161,7 +161,7 @@ public class HelpCommand extends Command { public boolean isCategory(String input) { for (Command cmd : guthix.listCommands()) { - String category = cmd.category(); + String category = cmd.category().getCategory(); if (category.toLowerCase().equals(input.toLowerCase())) { return true; } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/general/OutfitCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/general/OutfitCommand.java index 4540ecd..f439337 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/general/OutfitCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/general/OutfitCommand.java @@ -7,10 +7,7 @@ package dev.salmonllama.fsbot.commands.general; import dev.salmonllama.fsbot.database.controllers.OutfitController; import dev.salmonllama.fsbot.database.models.Outfit; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.Message; import org.javacord.api.entity.message.embed.EmbedBuilder; import org.javacord.api.util.logging.ExceptionLogger; @@ -27,7 +24,7 @@ public class OutfitCommand extends Command { @Override public String name() { return "Outfit"; } @Override public String description() { return "Generates a random image with the given tag. Use ~tags to see valid tags."; } @Override public String usage() { return "outfit "; } - @Override public String category() { return "General"; } + @Override public CommandCategory category() { return CommandCategory.GENERAL; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } @Override public Collection aliases() { return initAliases(); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/general/PingCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/general/PingCommand.java index 5ef8811..1e437aa 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/general/PingCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/general/PingCommand.java @@ -5,10 +5,7 @@ package dev.salmonllama.fsbot.commands.general; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import java.util.*; @@ -16,7 +13,7 @@ public class PingCommand extends Command { @Override public String name() { return "Ping"; } @Override public String description() { return "Pings the bot, checks for a heartbeat"; } @Override public String usage() { return "ping"; } - @Override public String category() { return "General"; } + @Override public CommandCategory category() { return CommandCategory.GENERAL; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } @Override public Collection aliases() { return new ArrayList<>(Collections.singletonList("ping")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/general/PrivacyCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/general/PrivacyCommand.java index 253f115..0280006 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/general/PrivacyCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/general/PrivacyCommand.java @@ -1,9 +1,6 @@ package dev.salmonllama.fsbot.commands.general; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import java.util.Collection; @@ -13,7 +10,7 @@ public class PrivacyCommand extends Command { @Override public String name() { return "Privacy"; } @Override public String description() { return "Directs users to the bot's privacy policy"; } @Override public String usage() { return "privacy"; } - @Override public String category() { return "General"; } + @Override public CommandCategory category() { return CommandCategory.GENERAL; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } @Override public Collection aliases() { return Collections.singletonList("privacy"); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/general/ShowGalleriesCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/general/ShowGalleriesCommand.java index 6467fbd..ff786e6 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/general/ShowGalleriesCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/general/ShowGalleriesCommand.java @@ -10,23 +10,20 @@ import java.util.Arrays; import java.util.Collection; import java.util.stream.Collectors; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.channel.ServerTextChannel; import org.javacord.api.entity.message.embed.EmbedBuilder; import org.javacord.api.entity.server.Server; import dev.salmonllama.fsbot.database.controllers.GalleryController; import dev.salmonllama.fsbot.database.models.GalleryChannel; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; import org.javacord.api.util.logging.ExceptionLogger; public class ShowGalleriesCommand extends Command { @Override public String name() { return "Show Galleries"; } @Override public String description() { return "Shows registered gallery channels in the current server"; } @Override public String usage() { return "showgalleries"; } - @Override public String category() { return "General"; } + @Override public CommandCategory category() { return CommandCategory.GENERAL; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("showgalleries", "listgalleries")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/general/StatsCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/general/StatsCommand.java index c2338f2..c47983d 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/general/StatsCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/general/StatsCommand.java @@ -4,19 +4,16 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import dev.salmonllama.fsbot.database.controllers.OutfitController; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; public class StatsCommand extends Command { @Override public String name() { return "Stats"; } @Override public String description() { return "Shows various stats from Fashionscape Bot"; } @Override public String usage() { return "stats"; } - @Override public String category() { return "General"; } + @Override public CommandCategory category() { return CommandCategory.GENERAL; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("stats")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/osrssearch/OsrsBodyCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/osrssearch/OsrsBodyCommand.java new file mode 100644 index 0000000..d975048 --- /dev/null +++ b/src/main/java/dev/salmonllama/fsbot/commands/osrssearch/OsrsBodyCommand.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2020. Aleksei Gryczewski + * All rights reserved. + */ + +package dev.salmonllama.fsbot.commands.osrssearch; + +import dev.salmonllama.fsbot.guthix.*; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; + +public class OsrsBodyCommand extends Command { + @Override public String name() { return "OSRS Body"; } + @Override public String description() { return "Searches scape.fashion for body slot items."; } + @Override public String usage() { return "osrsbody <#color or item name"; } + @Override public CommandCategory category() { return CommandCategory.OSRS_ITEM_SEARCH; } + @Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); } + @Override public Collection aliases() { return new ArrayList<>(Collections.singletonList("07body")); } + + @Override + public void onCommand(CommandContext ctx) { + + } +} diff --git a/src/main/java/dev/salmonllama/fsbot/commands/staff/EchoCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/staff/EchoCommand.java index a2dee70..d583d52 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/staff/EchoCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/staff/EchoCommand.java @@ -6,10 +6,7 @@ package dev.salmonllama.fsbot.commands.staff; import dev.salmonllama.fsbot.config.BotConfig; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import java.util.ArrayList; import java.util.Collection; @@ -19,7 +16,7 @@ public class EchoCommand extends Command { @Override public String name() { return "Echo"; } @Override public String description() { return "Echos your message. Typical bash"; } @Override public String usage() { return "echo "; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.STAFF; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "staff"); } @Override public Collection aliases() { return new ArrayList<>(Collections.singletonList("echo")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/staff/GetOutfitCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/staff/GetOutfitCommand.java index 583c043..8411e23 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/staff/GetOutfitCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/staff/GetOutfitCommand.java @@ -6,20 +6,17 @@ package dev.salmonllama.fsbot.commands.staff; import dev.salmonllama.fsbot.database.controllers.OutfitController; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -public class GetOutfitCommand extends Command { // TODO: This command also needs HELP +public class GetOutfitCommand extends Command { @Override public String name() { return "Get Outift"; } @Override public String description() { return "Shows the outfit, given an ID"; } @Override public String usage() { return "getoutfit "; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.STAFF; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "staff"); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("getoutfit", "get")); } @@ -29,11 +26,9 @@ public class GetOutfitCommand extends Command { // TODO: This command also needs String[] args = ctx.getArgs(); String id = args[0]; - OutfitController.findById(id).thenAccept(outfitOpt -> { - outfitOpt.ifPresentOrElse( - outfit -> ctx.reply(outfit.toString()), - () -> ctx.reply("Outfit not found, did you get the id right?") - ); - }); + OutfitController.findById(id).thenAccept(outfitOpt -> outfitOpt.ifPresentOrElse( + outfit -> ctx.reply(outfit.toString()), + () -> ctx.reply("Outfit not found, did you get the id right?") + )); } } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/staff/GetServersCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/staff/GetServersCommand.java index 54be113..ac849ca 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/staff/GetServersCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/staff/GetServersCommand.java @@ -5,11 +5,7 @@ package dev.salmonllama.fsbot.commands.staff; -import dev.salmonllama.fsbot.config.BotConfig; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.DiscordApi; import org.javacord.api.entity.message.embed.EmbedBuilder; import org.javacord.api.entity.server.Server; @@ -23,7 +19,7 @@ public class GetServersCommand extends Command { @Override public String name() { return "Get Servers"; } @Override public String description() { return "Lists all the servers the bot is in"; } @Override public String usage() { return "getservers"; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.STAFF; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "staff"); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("getservers", "servers")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/staff/OutfitInfoCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/staff/OutfitInfoCommand.java index 607d36c..7f61f08 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/staff/OutfitInfoCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/staff/OutfitInfoCommand.java @@ -5,12 +5,8 @@ package dev.salmonllama.fsbot.commands.staff; -import dev.salmonllama.fsbot.config.BotConfig; import dev.salmonllama.fsbot.database.controllers.OutfitController; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import java.util.ArrayList; @@ -21,7 +17,7 @@ public class OutfitInfoCommand extends Command { @Override public String name() { return "Outfit Info"; } @Override public String description() { return "Shows all related info about the outfit"; } @Override public String usage() { return "outfitinfo "; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.STAFF; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "staff"); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("outfitinfo", "oinfo")); } @@ -35,23 +31,19 @@ public class OutfitInfoCommand extends Command { } String id = args[0]; - OutfitController.findById(id).thenAcceptAsync(possibleOutfit -> { - possibleOutfit.ifPresentOrElse(outfit -> { - EmbedBuilder embed = new EmbedBuilder() - .setTitle("Outfit Info") - .setThumbnail(outfit.getLink()) - .setAuthor(ctx.getApi().getYourself()) - .setUrl(outfit.getLink()) - .setFooter(String.format("Tag: %s", outfit.getTag())) - .addField("Added", outfit.getCreated().toString(), true) - .addField("Updated", outfit.getUpdated().toString(), true) - .addField("Submitted by:", ctx.getApi().getUserById(outfit.getSubmitter()).join().getDiscriminatedName()) - .addField("Deleted", outfit.isDeleted() ? "True" : "False", true) - .addField("Featured", outfit.isFeatured() ? "True" : "False", true); - ctx.reply(embed); - }, () -> { - ctx.reply("Outfit not found"); - }); - }); + OutfitController.findById(id).thenAcceptAsync(possibleOutfit -> possibleOutfit.ifPresentOrElse(outfit -> { + EmbedBuilder embed = new EmbedBuilder() + .setTitle("Outfit Info") + .setThumbnail(outfit.getLink()) + .setAuthor(ctx.getApi().getYourself()) + .setUrl(outfit.getLink()) + .setFooter(String.format("Tag: %s", outfit.getTag())) + .addField("Added", outfit.getCreated().toString(), true) + .addField("Updated", outfit.getUpdated().toString(), true) + .addField("Submitted by:", ctx.getApi().getUserById(outfit.getSubmitter()).join().getDiscriminatedName()) + .addField("Deleted", outfit.isDeleted() ? "True" : "False", true) + .addField("Featured", outfit.isFeatured() ? "True" : "False", true); + ctx.reply(embed); + }, () -> ctx.reply("Outfit not found"))); } } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/staff/RemoveOutfitCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/staff/RemoveOutfitCommand.java index 3912aad..bb80328 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/staff/RemoveOutfitCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/staff/RemoveOutfitCommand.java @@ -8,10 +8,7 @@ package dev.salmonllama.fsbot.commands.staff; import com.vdurmont.emoji.EmojiParser; import dev.salmonllama.fsbot.config.BotConfig; import dev.salmonllama.fsbot.database.controllers.OutfitController; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.channel.TextChannel; import org.javacord.api.entity.message.embed.EmbedBuilder; @@ -23,7 +20,7 @@ public class RemoveOutfitCommand extends Command { @Override public String name() { return "Remove Outfit"; } @Override public String description() { return "Removes an outfit from the database given an id"; } @Override public String usage() { return "remove "; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.STAFF; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "staff"); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("removeoutfit", "remove")); } @@ -40,67 +37,65 @@ public class RemoveOutfitCommand extends Command { // get the outfit, confirm deletion through reaction. String outfitId = args[0]; - OutfitController.findById(outfitId).thenAcceptAsync(possibleOutfit -> { - possibleOutfit.ifPresentOrElse(outfit -> { - // Send outfit info, react with selectors, add a listener to the message - EmbedBuilder embed = new EmbedBuilder() - .setTitle("Confirm Outfit Deletion") - .setThumbnail(outfit.getLink()) - .setAuthor(ctx.getApi().getUserById(outfit.getSubmitter()).join()) - .setUrl(outfit.getLink()) - .setFooter(String.format("Tag: %s", outfit.getTag())) - .addField("Added", outfit.getCreated().toString(), true) - .addField("Updated", outfit.getUpdated().toString(), true) - .addField("Submitted by:", ctx.getApi().getUserById(outfit.getSubmitter()).join().getDiscriminatedName()) - .addField("Deleted", outfit.isDeleted() ? "True" : "False", true) - .addField("Featured", outfit.isFeatured() ? "True" : "False", true); + OutfitController.findById(outfitId).thenAcceptAsync(possibleOutfit -> possibleOutfit.ifPresentOrElse(outfit -> { + // Send outfit info, react with selectors, add a listener to the message + EmbedBuilder embed = new EmbedBuilder() + .setTitle("Confirm Outfit Deletion") + .setThumbnail(outfit.getLink()) + .setAuthor(ctx.getApi().getUserById(outfit.getSubmitter()).join()) + .setUrl(outfit.getLink()) + .setFooter(String.format("Tag: %s", outfit.getTag())) + .addField("Added", outfit.getCreated().toString(), true) + .addField("Updated", outfit.getUpdated().toString(), true) + .addField("Submitted by:", ctx.getApi().getUserById(outfit.getSubmitter()).join().getDiscriminatedName()) + .addField("Deleted", outfit.isDeleted() ? "True" : "False", true) + .addField("Featured", outfit.isFeatured() ? "True" : "False", true); - ctx.reply(embed).thenAcceptAsync(msg -> { - msg.addReaction(EmojiParser.parseToUnicode(":white_check_mark:")); - msg.addReaction(EmojiParser.parseToUnicode(":octagonal_sign:")); + ctx.reply(embed).thenAcceptAsync(msg -> { + msg.addReaction(EmojiParser.parseToUnicode(":white_check_mark:")); + msg.addReaction(EmojiParser.parseToUnicode(":octagonal_sign:")); - msg.addReactionAddListener(event -> { - if (event.getUser().getId() != authorId) { - return; - } + msg.addReactionAddListener(event -> { + if (event.getUser().getId() != authorId) { + return; + } - if (event.getEmoji().equalsEmoji(EmojiParser.parseToUnicode(":white_check_mark:"))) { - // Delete the outfit - OutfitController.delete(outfit.getId()); + if (event.getEmoji().equalsEmoji(EmojiParser.parseToUnicode(":white_check_mark:"))) { + // Delete the outfit + OutfitController.delete(outfit.getId()); - EmbedBuilder response = new EmbedBuilder() - .setTitle("Deletion Successful!") - .setDescription(String.format("Outfit %s marked as deleted", outfit.getId())); + EmbedBuilder response = new EmbedBuilder() + .setTitle("Deletion Successful!") + .setDescription(String.format("Outfit %s marked as deleted", outfit.getId())); - msg.delete(); - ctx.reply(response); + msg.delete(); + ctx.reply(response); - EmbedBuilder log = new EmbedBuilder() - .setTitle("Outfit Marked as Deleted") - .setThumbnail(outfit.getLink()) - .addField("Deleted By:", ctx.getAuthor().getDiscriminatedName()); + EmbedBuilder log = new EmbedBuilder() + .setTitle("Outfit Marked as Deleted") + .setThumbnail(outfit.getLink()) + .addField("Deleted By:", ctx.getAuthor().getDiscriminatedName()); - ctx.getApi().getServerTextChannelById(BotConfig.OUTFIT_LOG).ifPresent(chnl -> { - chnl.sendMessage(log); - }); + ctx.getApi().getServerTextChannelById(BotConfig.OUTFIT_LOG).ifPresent( + chnl -> chnl.sendMessage(log) + ); - } else if (event.getEmoji().equalsEmoji(EmojiParser.parseToUnicode(":octagonal_sign:"))) { - // Do nothing - EmbedBuilder response = new EmbedBuilder() - .setTitle("Deletion Aborted") - .setDescription(String.format("No modifications were made to %s", outfit.getId())); + } else if (event.getEmoji().equalsEmoji(EmojiParser.parseToUnicode(":octagonal_sign:"))) { + // Do nothing + EmbedBuilder response = new EmbedBuilder() + .setTitle("Deletion Aborted") + .setDescription(String.format("No modifications were made to %s", outfit.getId())); - ctx.reply(response); - } - }); - }); - }, () -> { - EmbedBuilder response = new EmbedBuilder() - .setTitle("Outfit not Found") - .setDescription(String.format("ID %s does not exist", outfitId)); + ctx.reply(response); + } + }); + }); + }, () -> { + EmbedBuilder response = new EmbedBuilder() + .setTitle("Outfit not Found") + .setDescription(String.format("ID %s does not exist", outfitId)); - ctx.reply(response); - }); - }); + ctx.reply(response); + })); } } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/staff/RetagCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/staff/RetagCommand.java index c362e3e..dc6b58c 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/staff/RetagCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/staff/RetagCommand.java @@ -9,10 +9,7 @@ import com.vdurmont.emoji.EmojiParser; import dev.salmonllama.fsbot.config.BotConfig; import dev.salmonllama.fsbot.database.controllers.OutfitController; import dev.salmonllama.fsbot.database.models.Outfit; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.channel.TextChannel; import org.javacord.api.entity.message.embed.EmbedBuilder; @@ -26,7 +23,7 @@ public class RetagCommand extends Command { @Override public String name() { return "Retag"; } @Override public String description() { return "Changes the tag of the given outfit"; } @Override public String usage() { return "retag "; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.STAFF; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "staff"); } @Override public Collection aliases() { return new ArrayList<>(Collections.singletonList("retag")); } @@ -45,71 +42,69 @@ public class RetagCommand extends Command { String outfitId = args[0]; String newTag = args[1]; - OutfitController.findById(outfitId).thenAcceptAsync(possibleOutfit -> { - possibleOutfit.ifPresentOrElse(outfit -> { - // Send info, confirmation, and add reaction listener - EmbedBuilder response = new EmbedBuilder() - .setTitle("Confirm Tag Edit") - .setThumbnail(outfit.getLink()) - .setAuthor(ctx.getApi().getUserById(outfit.getSubmitter()).join()) - .setUrl(outfit.getLink()) - .addField("Current Tag:", outfit.getTag()) - .addField("New Tag:", newTag); + OutfitController.findById(outfitId).thenAcceptAsync(possibleOutfit -> possibleOutfit.ifPresentOrElse(outfit -> { + // Send info, confirmation, and add reaction listener + EmbedBuilder response = new EmbedBuilder() + .setTitle("Confirm Tag Edit") + .setThumbnail(outfit.getLink()) + .setAuthor(ctx.getApi().getUserById(outfit.getSubmitter()).join()) + .setUrl(outfit.getLink()) + .addField("Current Tag:", outfit.getTag()) + .addField("New Tag:", newTag); - ctx.reply(response).thenAcceptAsync(msg -> { - msg.addReaction(EmojiParser.parseToUnicode(":white_check_mark:")); - msg.addReaction(EmojiParser.parseToUnicode(":octagonal_sign:")); + ctx.reply(response).thenAcceptAsync(msg -> { + msg.addReaction(EmojiParser.parseToUnicode(":white_check_mark:")); + msg.addReaction(EmojiParser.parseToUnicode(":octagonal_sign:")); - msg.addReactionAddListener(event -> { - if (event.getUser().getId() != authorId) { - return; - } + msg.addReactionAddListener(event -> { + if (event.getUser().getId() != authorId) { + return; + } - if (event.getEmoji().equalsEmoji(EmojiParser.parseToUnicode(":white_check_mark:"))) { - // Update the outfit - Outfit newOutfit = new Outfit.OutfitBuilder(outfit) - .setTag(newTag) - .setUpdated(new Timestamp(System.currentTimeMillis())) - .build(); + if (event.getEmoji().equalsEmoji(EmojiParser.parseToUnicode(":white_check_mark:"))) { + // Update the outfit + Outfit newOutfit = new Outfit.OutfitBuilder(outfit) + .setTag(newTag) + .setUpdated(new Timestamp(System.currentTimeMillis())) + .build(); - OutfitController.update(newOutfit).thenAcceptAsync((Void) -> { - EmbedBuilder embed = new EmbedBuilder() - .setTitle("Outfit retagged successfully!") - .setDescription(String.format("Outfit %s will now display as %s", newOutfit.getId(), newOutfit.getTag())); - - msg.delete(); - ctx.reply(embed); - - EmbedBuilder log = new EmbedBuilder() - .setTitle("Outfit Retagged") - .setThumbnail(outfit.getLink()) - .addField("New tag:", newTag); - - ctx.getApi().getServerTextChannelById(BotConfig.OUTFIT_LOG).ifPresent(chnl -> { - chnl.sendMessage(log); - }); - }); - - } else if (event.getEmoji().equalsEmoji(EmojiParser.parseToUnicode(":octagonal_sign:"))) { - // Do nothing - msg.delete(); + OutfitController.update(newOutfit).thenAcceptAsync((Void) -> { EmbedBuilder embed = new EmbedBuilder() - .setTitle("Update Cancelled") - .setDescription("No modifications were made"); + .setTitle("Outfit retagged successfully!") + .setDescription(String.format("Outfit %s will now display as %s", newOutfit.getId(), newOutfit.getTag())); + msg.delete(); ctx.reply(embed); - } - }); - }); - }, () -> { - // Err, outfit not found - EmbedBuilder response = new EmbedBuilder() - .setTitle("Error occurred") - .setDescription("That ID was not found in the database") - .setColor(Color.RED); - ctx.reply(response); + EmbedBuilder log = new EmbedBuilder() + .setTitle("Outfit Retagged") + .setThumbnail(outfit.getLink()) + .addField("New tag:", newTag); + + ctx.getApi().getServerTextChannelById(BotConfig.OUTFIT_LOG).ifPresent( + chnl -> chnl.sendMessage(log) + ); + }); + + } else if (event.getEmoji().equalsEmoji(EmojiParser.parseToUnicode(":octagonal_sign:"))) { + // Do nothing + msg.delete(); + EmbedBuilder embed = new EmbedBuilder() + .setTitle("Update Cancelled") + .setDescription("No modifications were made"); + + ctx.reply(embed); + } + }); }); - }); + }, () -> { + // Err, outfit not found + EmbedBuilder response = new EmbedBuilder() + .setTitle("Error occurred") + .setDescription("That ID was not found in the database") + .setColor(Color.RED); + + ctx.reply(response); + })); } } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/staff/SetStatusCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/staff/SetStatusCommand.java index 785371a..23d14c1 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/staff/SetStatusCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/staff/SetStatusCommand.java @@ -6,11 +6,7 @@ package dev.salmonllama.fsbot.commands.staff; import com.vdurmont.emoji.EmojiParser; -import dev.salmonllama.fsbot.config.BotConfig; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import java.awt.*; @@ -22,7 +18,7 @@ public class SetStatusCommand extends Command { @Override public String name() { return "Set Status"; } @Override public String description() { return "Updates the bot's current status"; } @Override public String usage() { return "updatestatus "; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.STAFF; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "staff"); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("setstatus", "status")); } diff --git a/src/main/java/dev/salmonllama/fsbot/commands/staff/WelcomeMessageCommand.java b/src/main/java/dev/salmonllama/fsbot/commands/staff/WelcomeMessageCommand.java index 997260d..1beb597 100644 --- a/src/main/java/dev/salmonllama/fsbot/commands/staff/WelcomeMessageCommand.java +++ b/src/main/java/dev/salmonllama/fsbot/commands/staff/WelcomeMessageCommand.java @@ -8,10 +8,7 @@ package dev.salmonllama.fsbot.commands.staff; import dev.salmonllama.fsbot.config.BotConfig; import dev.salmonllama.fsbot.database.controllers.ServerConfigController; import dev.salmonllama.fsbot.database.models.ServerConfig; -import dev.salmonllama.fsbot.guthix.Command; -import dev.salmonllama.fsbot.guthix.CommandContext; -import dev.salmonllama.fsbot.guthix.CommandPermission; -import dev.salmonllama.fsbot.guthix.PermissionType; +import dev.salmonllama.fsbot.guthix.*; import org.javacord.api.entity.message.embed.EmbedBuilder; import org.javacord.api.util.logging.ExceptionLogger; @@ -23,7 +20,7 @@ public class WelcomeMessageCommand extends Command { @Override public String name() { return "Welcome Message"; } @Override public String description() { return "View or update the server welcome message. Options: get|set|getchannel|setchannel."; } @Override public String usage() { return "welcomemessage [String newMessage]"; } - @Override public String category() { return "Staff"; } + @Override public CommandCategory category() { return CommandCategory.STAFF; } @Override public CommandPermission permission() { return new CommandPermission(PermissionType.STATIC, "staff"); } @Override public Collection aliases() { return new ArrayList<>(Arrays.asList("welcomemessage", "wmsg")); } diff --git a/src/main/java/dev/salmonllama/fsbot/guthix/Command.java b/src/main/java/dev/salmonllama/fsbot/guthix/Command.java index 92c8df8..8ee9c16 100644 --- a/src/main/java/dev/salmonllama/fsbot/guthix/Command.java +++ b/src/main/java/dev/salmonllama/fsbot/guthix/Command.java @@ -12,7 +12,7 @@ public abstract class Command { public abstract String name(); public abstract String description(); public abstract String usage(); - public abstract String category(); + public abstract CommandCategory category(); public abstract CommandPermission permission(); public abstract Collection aliases(); diff --git a/src/main/java/dev/salmonllama/fsbot/guthix/CommandCategory.java b/src/main/java/dev/salmonllama/fsbot/guthix/CommandCategory.java new file mode 100644 index 0000000..47903db --- /dev/null +++ b/src/main/java/dev/salmonllama/fsbot/guthix/CommandCategory.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2020. Aleksei Gryczewski + * All rights reserved. + */ + +package dev.salmonllama.fsbot.guthix; + +public enum CommandCategory { + DEVELOPER("Developer"), + GENERAL("General"), + OSRS_ITEM_SEARCH("Oldschool Item Search"), + RS3_ITEM_SEARCH("Runescape Item Search"), + STAFF("Staff"); + + private final String category; + + CommandCategory(String category) { + this.category = category; + } + + public String getCategory() { + return category; + } +}