From 3788c3f042a611b617dcb2d2b0abfa9da7ec8ab6 Mon Sep 17 00:00:00 2001 From: Salmonllama Date: Sat, 12 Sep 2020 15:36:34 -0400 Subject: [PATCH] Prevented returning bestMatch as searched items --- .../scapefashion/ScapeFashionConnection.java | 23 ++++++++++++++++--- .../fsbot/guthix/CommandCategory.java | 4 ++-- .../dev/salmonllama/fsbot/guthix/Guthix.java | 6 ++--- .../fsbot/utilities/DiscordUtilities.java | 10 ++++++++ 4 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionConnection.java b/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionConnection.java index dccb24e..2bf6301 100644 --- a/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionConnection.java +++ b/src/main/java/dev/salmonllama/fsbot/endpoints/scapefashion/ScapeFashionConnection.java @@ -6,6 +6,9 @@ package dev.salmonllama.fsbot.endpoints.scapefashion; import com.google.gson.Gson; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLEncoder; @@ -21,6 +24,8 @@ public class ScapeFashionConnection { private final String OSRS_REQUEST_URL = "https://api.scape.fashion"; private final String OSRS_LINK_URL = "https://scape.fashion"; + private static final Logger logger = LoggerFactory.getLogger(ScapeFashionConnection.class); + public ScapeFashionConnection() {} // Uses the color endpoint to search for items @@ -43,21 +48,27 @@ public class ScapeFashionConnection { return response; } - private ScapeFashionResult osrsItem(String item) throws Exception { + public ScapeFashionResult osrsItem(String item) throws Exception { String uri = OSRS_REQUEST_URL + "/items/" + encode(item); String link = OSRS_LINK_URL + "/items/" + encode(item); var response = makeRequest(uri); response.setLink(link); + if (response.getItems().get(0).getName().toLowerCase().equals(item.toLowerCase())) { + response.getItems().remove(0); + } return response; } - private ScapeFashionResult osrsItem(String item, ScapeFashionSlotOsrs slot) throws Exception { + public ScapeFashionResult osrsItem(String item, ScapeFashionSlotOsrs slot) throws Exception { String uri = OSRS_REQUEST_URL + "/items/" + encode(item) + "?slot=" + encode(slot.getValue()); String link = OSRS_LINK_URL + "/items/" + encode(item) + "?slot=" + encode(slot.getValue()); var response = makeRequest(uri); response.setLink(link); + if (response.getItems().get(0).getName().toLowerCase().equals(item.toLowerCase())) { + response.getItems().remove(0); + } return response; } @@ -85,6 +96,9 @@ public class ScapeFashionConnection { var response = makeRequest(uri); response.setLink(link); + if (response.getItems().get(0).getName().toLowerCase().equals(item.toLowerCase())) { + response.getItems().remove(0); + } return response; } @@ -94,6 +108,9 @@ public class ScapeFashionConnection { var response = makeRequest(uri); response.setLink(link); + if (response.getItems().get(0).getName().toLowerCase().equals(item.toLowerCase())) { + response.getItems().remove(0); + } return response; } @@ -115,6 +132,6 @@ public class ScapeFashionConnection { } private String encode(String value) throws UnsupportedEncodingException { - return URLEncoder.encode(value, StandardCharsets.UTF_8.toString()); + return URLEncoder.encode(value, StandardCharsets.UTF_8.toString()).replace("+", "%20"); } } diff --git a/src/main/java/dev/salmonllama/fsbot/guthix/CommandCategory.java b/src/main/java/dev/salmonllama/fsbot/guthix/CommandCategory.java index 47903db..36edc54 100644 --- a/src/main/java/dev/salmonllama/fsbot/guthix/CommandCategory.java +++ b/src/main/java/dev/salmonllama/fsbot/guthix/CommandCategory.java @@ -8,8 +8,8 @@ package dev.salmonllama.fsbot.guthix; public enum CommandCategory { DEVELOPER("Developer"), GENERAL("General"), - OSRS_ITEM_SEARCH("Oldschool Item Search"), - RS3_ITEM_SEARCH("Runescape Item Search"), + OSRS_ITEM_SEARCH("07Search"), + RS3_ITEM_SEARCH("RS3Search"), STAFF("Staff"); private final String category; diff --git a/src/main/java/dev/salmonllama/fsbot/guthix/Guthix.java b/src/main/java/dev/salmonllama/fsbot/guthix/Guthix.java index 8cdd874..9e81aa1 100644 --- a/src/main/java/dev/salmonllama/fsbot/guthix/Guthix.java +++ b/src/main/java/dev/salmonllama/fsbot/guthix/Guthix.java @@ -23,10 +23,10 @@ import java.util.HashMap; */ public class Guthix implements MessageCreateListener { @SuppressWarnings("unused") - private DiscordApi api; + private final DiscordApi api; - private Registry registry; - private PermissionManager manager; + private final Registry registry; + private final PermissionManager manager; public Guthix(DiscordApi api) { this.api = api; diff --git a/src/main/java/dev/salmonllama/fsbot/utilities/DiscordUtilities.java b/src/main/java/dev/salmonllama/fsbot/utilities/DiscordUtilities.java index c3c72e6..ae419e0 100644 --- a/src/main/java/dev/salmonllama/fsbot/utilities/DiscordUtilities.java +++ b/src/main/java/dev/salmonllama/fsbot/utilities/DiscordUtilities.java @@ -8,8 +8,14 @@ package dev.salmonllama.fsbot.utilities; import dev.salmonllama.fsbot.config.BotConfig; import dev.salmonllama.fsbot.guthix.CommandContext; import org.javacord.api.entity.message.embed.EmbedBuilder; +import org.javacord.api.util.logging.ExceptionLogger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.awt.*; +import java.util.Arrays; +import java.util.function.Consumer; +import java.util.function.Function; public class DiscordUtilities { public static void handleException(Exception e, CommandContext ctx) { @@ -30,4 +36,8 @@ public class DiscordUtilities { ctx.getApi().getTextChannelById(BotConfig.ACTIVITY_LOG).ifPresent(channel -> channel.sendMessage(embed)); } + + public static void report(Class... throwable) { + System.out.println(Arrays.stream(throwable)); + } }