Completed OSRS Search Module
This commit is contained in:
parent
bc69c31713
commit
26cbbee03e
@ -8,20 +8,24 @@ package dev.salmonllama.fsbot.commands.osrssearch;
|
|||||||
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
import dev.salmonllama.fsbot.guthix.*;
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
import org.apache.logging.log4j.util.Strings;
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
|
||||||
|
|
||||||
public class OsrsBodyCommand extends Command {
|
public class OsrsBodyCommand extends Command {
|
||||||
@Override public String name() { return "OSRS Body"; }
|
@Override public String name() { return "OSRS Body"; }
|
||||||
@Override public String description() { return "Searches scape.fashion for body slot items."; }
|
@Override public String description() { return "Searches scape.fashion for body slot items."; }
|
||||||
@Override public String usage() { return "osrsbody <#color or item name"; }
|
@Override public String usage() { return "osrsbody <#color or item name>"; }
|
||||||
@Override public CommandCategory category() { return CommandCategory.OSRS_ITEM_SEARCH; }
|
@Override public CommandCategory category() { return CommandCategory.OSRS_ITEM_SEARCH; }
|
||||||
@Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); }
|
@Override public CommandPermission permission() { return new CommandPermission(PermissionType.NONE); }
|
||||||
@Override public Collection<String> aliases() { return new ArrayList<>(Collections.singletonList("07body")); }
|
@Override public Collection<String> aliases() { return new ArrayList<>(Arrays.asList("07body", "osrsbody")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsBodyCommand.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCommand(CommandContext ctx) {
|
public void onCommand(CommandContext ctx) {
|
||||||
@ -31,17 +35,27 @@ public class OsrsBodyCommand extends Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var args = ctx.getArgs();
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
if (OsrsSearchUtilities.isColor(args[0])) {
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
// Color search
|
// Color search
|
||||||
ScapeFashionConnection conn = new ScapeFashionConnection();
|
try {
|
||||||
try { // TODO: Commands with items instead of colors do not work
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.BODY);
|
||||||
var bestMatch = conn.osrsColor(Strings.join(Arrays.asList(args), ' '), ScapeFashionSlotOsrs.BODY);
|
|
||||||
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
OsrsSearchUtilities.handleException(e, ctx);
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Item search
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.BODY);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsCapeCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Cape"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for cape slot items."; }
|
||||||
|
@Override public String usage() { return "osrscape <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07cape", "osrscape")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsCapeCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.CAPE);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.CAPE);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsFeetCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Feet"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for foot slot items."; }
|
||||||
|
@Override public String usage() { return "osrsfeet <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07feet", "osrsfeet")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsFeetCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.FEET);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.FEET);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsHandCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Hand"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for hand slot items."; }
|
||||||
|
@Override public String usage() { return "osrshand <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07hand", "osrshand")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsHandCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.HAND);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.HAND);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsHeadCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Head"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for head slot items."; }
|
||||||
|
@Override public String usage() { return "osrshead <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07head", "osrshead")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsHeadCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.HEAD);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.HEAD);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsLegsCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Legs"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for leg slot items."; }
|
||||||
|
@Override public String usage() { return "osrslegs <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07legs", "osrslegs")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsLegsCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.LEG);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.LEG);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsNeckCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Neck"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for neck slot items."; }
|
||||||
|
@Override public String usage() { return "osrsneck <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07neck", "osrsneck")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsNeckCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.NECK);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.NECK);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsSearchCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Search"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for any items."; }
|
||||||
|
@Override public String usage() { return "osrssearch <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07search", "osrssearch")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsSearchCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsShieldCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Shield"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for shield slot items."; }
|
||||||
|
@Override public String usage() { return "osrsshield <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07shield", "osrsshield")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsShieldCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.SHIELD);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.SHIELD);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020. Aleksei Gryczewski
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package dev.salmonllama.fsbot.commands.osrssearch;
|
||||||
|
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionConnection;
|
||||||
|
import dev.salmonllama.fsbot.endpoints.scapefashion.ScapeFashionSlotOsrs;
|
||||||
|
import dev.salmonllama.fsbot.guthix.*;
|
||||||
|
import dev.salmonllama.fsbot.utilities.DiscordUtilities;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class OsrsWeaponCommand extends Command {
|
||||||
|
@Override public String name() { return "OSRS Weapon"; }
|
||||||
|
@Override public String description() { return "Searches scape.fashion for weapo slot items."; }
|
||||||
|
@Override public String usage() { return "osrsweapon <#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<String> aliases() { return new ArrayList<>(Arrays.asList("07weapon", "osrsweapon")); }
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(OsrsWeaponCommand.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(CommandContext ctx) {
|
||||||
|
if (ctx.getArgs().length == 0) {
|
||||||
|
ctx.reply("Specify something");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = ctx.getArgs();
|
||||||
|
ScapeFashionConnection conn = new ScapeFashionConnection();
|
||||||
|
var params = Strings.join(Arrays.asList(args), ' ');
|
||||||
|
|
||||||
|
if (OsrsSearchUtilities.isColor(args[0])) {
|
||||||
|
// Color search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsColor(params, ScapeFashionSlotOsrs.WEAPON);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Item search
|
||||||
|
try {
|
||||||
|
var bestMatch = conn.osrsItem(params, ScapeFashionSlotOsrs.WEAPON);
|
||||||
|
OsrsSearchUtilities.sendResult(bestMatch, ctx.getChannel());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
DiscordUtilities.handleException(e, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user