diff --git a/src/main/java/org/jointheleague/discord_bot_example/Bot.java b/src/main/java/org/jointheleague/discord_bot_example/Bot.java index 06e330bf..41410acf 100644 --- a/src/main/java/org/jointheleague/discord_bot_example/Bot.java +++ b/src/main/java/org/jointheleague/discord_bot_example/Bot.java @@ -47,9 +47,9 @@ public void connect(boolean printInvite) { api.addMessageCreateListener(dl); helpListener.addHelpEmbed(dl.getHelpEmbed()); - CurrencyConverter cc = new CurrencyConverter(channelName); - api.addMessageCreateListener(cc); - helpListener.addHelpEmbed(cc.getHelpEmbed()); +// CurrencyConverter cc = new CurrencyConverter(channelName); +// api.addMessageCreateListener(cc); +// helpListener.addHelpEmbed(cc.getHelpEmbed()); ToDoList list = new ToDoList(channelName); api.addMessageCreateListener(list); @@ -143,10 +143,15 @@ public void connect(boolean printInvite) { UnbeatableRockPaperScissors rps = new UnbeatableRockPaperScissors(channelName); api.addMessageCreateListener(rps); helpListener.addHelpEmbed(rps.getHelpEmbed()); + Depression depress = new Depression(channelName); api.addMessageCreateListener(depress); helpListener.addHelpEmbed(depress.getHelpEmbed()); + CompareBrand cb = new CompareBrand(channelName); + api.addMessageCreateListener(cb); + helpListener.addHelpEmbed(cb.getHelpEmbed()); + //old way to add listeners api.addMessageCreateListener(helpListener); diff --git a/src/main/java/org/jointheleague/modules/CompareBrand.java b/src/main/java/org/jointheleague/modules/CompareBrand.java new file mode 100644 index 00000000..48c3fceb --- /dev/null +++ b/src/main/java/org/jointheleague/modules/CompareBrand.java @@ -0,0 +1,147 @@ +package org.jointheleague.modules; + +import org.javacord.api.event.message.MessageCreateEvent; +import org.jointheleague.modules.pojo.HelpEmbed; + +import net.aksingh.owmjapis.api.APIException; + +public class CompareBrand extends CustomMessageCreateListener { + Car[] cars = { new Car("Acura ILX", 5, 201, 26100), new Car("Acura MDX", 7, 2090, 46900), + new Car("Acura TLX", 5, 272, 37500), new Car("Acura RDX", 5, 272, 38400), + new Car("Alfa Romeo Stelvio", 5, 280, 42350), new Car("Alfa Romeo Giulia", 5, 280, 42350), + new Car("Audi Q3", 5, 228, 34000), new Car("Audi Q5", 5, 362, 43300), new Car("Audi Q7", 7, 335, 54950), + new Car("Audi Q8", 5, 335, 68200), new Car("Audi E-Tron", 5, 402, 65900), new Car("Audi A3", 5, 184, 33300), + new Car("Audi A4", 5, 261, 39100), new Car("Audi A5", 5, 261, 44000), new Car("Audi A6", 5, 335, 54900), + new Car("Audi A7", 5, 335, 69200), new Car("Audi A8", 5, 453, 86500), new Car("BMW X1", 5, 228, 35400), + new Car("BMW X2", 5, 228, 36600), new Car("BMW X3", 5, 248, 43000), new Car("BMW X4", 5, 245, 51600), + new Car("BMW X5", 5, 335, 59400), new Car("BMW X6", 5, 335, 65050), new Car("BMW X7", 5, 335, 74900), + new Car("BMW 2", 5, 228, 35900) }; + String possibilities = ""; + private static final String COMMAND = "/compare"; + int budget = 0; + boolean hasBudget = false; + int seats = 0; + boolean hasSeats = false; + int horsepower = 0; + boolean hasHorsies = false; + boolean matchess = false; + + public CompareBrand(String channelName) { + super(channelName); + helpEmbed = new HelpEmbed(COMMAND, + "Type /compare and followed by budget/seats/horsepower followed by a parameter. you can do all 3 at once. Ex: /compare horsepower 2 seats 1 budget 200000"); + } + + @Override + public void handle(MessageCreateEvent event) throws APIException { + // TODO Auto-generated method stub + String[] str = event.getMessageContent().split(" "); + budget = 0; + hasBudget = false; + seats = 0; + hasSeats = false; + horsepower = 0; + hasHorsies = false; + if (str[0].equals(COMMAND)) { + if(event.getMessageContent().contains("help") && str.length == 2) { + event.getChannel().sendMessage("Type /compare and followed by budget/seats/horsepower followed by a parameter. you can do all 3 at once. Ex: /compare horsepower 2 seats 1 budget 200000"); + } + for (int i = 0; i < str.length; i++) { + if (str[i].contains("budget") && str.length > 2 && !event.getMessageContent().contains("help")) { + try { + budget = Integer.parseInt(str[i + 1]); + hasBudget = true; + } catch(Exception bad) { + event.getChannel().sendMessage("The budget should only include numbers!"); + } + } else if (str[i].contains("seats") && str.length > 2 && !event.getMessageContent().contains("help")) { + try { + seats = Integer.parseInt(str[i + 1]); + hasSeats = true; + } catch(Exception no) { + event.getChannel().sendMessage("seats aren't letters! They are numerical!"); + } + } else if (str[i].contains("horsepower") && str.length > 2 && !event.getMessageContent().contains("help")) { + try { + horsepower = Integer.parseInt(str[i + 1]); + hasHorsies = true; + } catch(Exception e) { + event.getChannel().sendMessage("horsepower should only be explained in numbers >:("); + } + } + } + event.getChannel().sendMessage(printCar()); + if(matchess == false) { + event.getChannel().sendMessage("your search results didn't pull anything up. Horse power should be no less than 350, seats no less than 6, and budget no less than around 34000"); + } + } + } + + public String printCar() { + boolean hpMet = false; + boolean budgetMet = false; + boolean seatsMet = false; + String matches = ""; + for (int i = 0; i < cars.length; i++) { + if (hasBudget) { + budgetMet = cars[i].checkPrice(budget); + } + if (hasHorsies) { + hpMet = cars[i].checkHp(horsepower); + } + if (hasSeats) { + seatsMet = cars[i].checkSeats(seats); + } + if ((budgetMet || !hasBudget) && (hpMet || !hasHorsies) && (seatsMet || !hasSeats)) { + matches += cars[i].toString() + "\n"; + } + } + if(!matches.isEmpty()) { + matchess = true; + } else { + matchess = false; + } + return matches; + } +} +// TODO: Find 2021 car brand models and write down a few's seats, and +// horsepower, cost and put into a text file + +class Car { + int seats = 0; + int hp = 0; + int price = 0; + String name = ""; + + Car(String name, int seats, int horsePower, int price) { + this.seats = seats; + hp = horsePower; + this.price = price; + this.name = name; + } + + public boolean checkHp(int hpLimit) { + if (hp <= hpLimit) { + return true; + } + return false; + } + + public boolean checkSeats(int seatLimit) { + if (seats <= seatLimit) { + return true; + } + return false; + } + + public boolean checkPrice(int priceLimit) { + if (price <= priceLimit) { + return true; + } + return false; + } + + public String toString() { + return name; + } +} \ No newline at end of file diff --git a/src/main/java/org/jointheleague/modules/MazeGame.java b/src/main/java/org/jointheleague/modules/MazeGame.java index 76e1f77c..f4578587 100644 --- a/src/main/java/org/jointheleague/modules/MazeGame.java +++ b/src/main/java/org/jointheleague/modules/MazeGame.java @@ -30,7 +30,7 @@ public void handle(MessageCreateEvent event) throws APIException { System.out.println("Heard message: " + event.getMessageContent()); if (event.getMessageContent().contains(COMMAND) && !event.getMessageAuthor().isBotUser()) { if (event.getMessageContent().contains("start") || event.getMessageContent().contains("load")) { - String target = event.getMessageContent().substring(11).strip(); + String target = event.getMessageContent().substring(11).trim(); try { if(!target.equalsIgnoreCase("upload")) {