From c07b3c19e12471c18c2d5ee70315bf01633cf85d Mon Sep 17 00:00:00 2001 From: oko Date: Tue, 29 Mar 2022 20:52:10 -0700 Subject: [PATCH] Add sdate & Rename dreidel --- src/main/java/moe/oko/Kiafumi/Kiafumi.java | 3 +- ...{DreidelCommand.java => FightCommand.java} | 21 ++++---- .../Kiafumi/command/SeptemberDateCommand.java | 52 +++++++++++++++++++ .../oko/Kiafumi/listener/MainListener.java | 2 +- 4 files changed, 65 insertions(+), 13 deletions(-) rename src/main/java/moe/oko/Kiafumi/command/{DreidelCommand.java => FightCommand.java} (76%) create mode 100644 src/main/java/moe/oko/Kiafumi/command/SeptemberDateCommand.java diff --git a/src/main/java/moe/oko/Kiafumi/Kiafumi.java b/src/main/java/moe/oko/Kiafumi/Kiafumi.java index 3294299..446ca11 100644 --- a/src/main/java/moe/oko/Kiafumi/Kiafumi.java +++ b/src/main/java/moe/oko/Kiafumi/Kiafumi.java @@ -80,7 +80,8 @@ public class Kiafumi { activeCommands.add(new SettingCommand()); activeCommands.add(new DuckCommand()); activeCommands.add(new InviteCommand()); - activeCommands.add(new DreidelCommand()); + activeCommands.add(new FightCommand()); + activeCommands.add(new SeptemberDateCommand()); instance = this; diff --git a/src/main/java/moe/oko/Kiafumi/command/DreidelCommand.java b/src/main/java/moe/oko/Kiafumi/command/FightCommand.java similarity index 76% rename from src/main/java/moe/oko/Kiafumi/command/DreidelCommand.java rename to src/main/java/moe/oko/Kiafumi/command/FightCommand.java index a8ff1cd..f5c970a 100644 --- a/src/main/java/moe/oko/Kiafumi/command/DreidelCommand.java +++ b/src/main/java/moe/oko/Kiafumi/command/FightCommand.java @@ -15,8 +15,7 @@ import java.util.List; import java.util.Random; import java.util.concurrent.TimeUnit; -// TODO: Make this actually a Dreidel, and use this code for a fight command. -public class DreidelCommand extends CommandClass { +public class FightCommand extends CommandClass { private boolean enabled = false; @Override public boolean isEnabled() { @@ -25,12 +24,12 @@ public class DreidelCommand extends CommandClass { @Override public String getName() { - return "Dreidel"; + return "Fight"; } @Override public void newCommand(String name, SlashCommandInteractionEvent e) { - if ("dreidel".equals(name)) { + if ("fight".equals(name)) { e.deferReply().queue(); List usersForRng = new ArrayList<>(); List userNames = new ArrayList<>(); @@ -50,8 +49,8 @@ public class DreidelCommand extends CommandClass { User pickedUser = usersForRng.get(rng.nextInt(usersForRng.size())); EmbedBuilder eb1 = new EmbedBuilder() .setColor(EmbedUI.INFO) - .setTitle("The dreidel has spoken...") - .setDescription(pickedUser.getName() + " is the lucky winner!") + .setTitle("VICTORY!") + .setDescription(pickedUser.getName() + " is the survivor!") .setThumbnail(pickedUser.getAvatarUrl()) .setFooter(EmbedUI.BRAND) // TODO: Make this show the list of participants .setTimestamp(ZonedDateTime.now()); @@ -62,11 +61,11 @@ public class DreidelCommand extends CommandClass { @Override public List getSlashCommandInfo() { List cil = new ArrayList<>(); - CommandInfo ci = new CommandInfo("dreidel", "picks a random person out of 4 values.", CommandType.COMMAND); - ci.addOption("value1", "first value for spin", OptionType.USER, true); - ci.addOption("value2", "second value for spin", OptionType.USER, true); - ci.addOption("value3", "third value for spin", OptionType.USER, false); - ci.addOption("value4", "fourth value for spin", OptionType.USER, false); + CommandInfo ci = new CommandInfo("fight", "MORTALLL KOMBATTTT", CommandType.COMMAND); + ci.addOption("value1", "first fighter", OptionType.USER, true); + ci.addOption("value2", "second fighter", OptionType.USER, true); + ci.addOption("value3", "third fighter", OptionType.USER, false); + ci.addOption("value4", "fourth fighter", OptionType.USER, false); cil.add(ci); return cil; } diff --git a/src/main/java/moe/oko/Kiafumi/command/SeptemberDateCommand.java b/src/main/java/moe/oko/Kiafumi/command/SeptemberDateCommand.java new file mode 100644 index 0000000..0a3e6e1 --- /dev/null +++ b/src/main/java/moe/oko/Kiafumi/command/SeptemberDateCommand.java @@ -0,0 +1,52 @@ +package moe.oko.Kiafumi.command; + +import moe.oko.Kiafumi.util.CommandInfo; +import moe.oko.Kiafumi.util.CommandType; +import moe.oko.Kiafumi.util.EmbedUI; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; + +import java.time.LocalDate; +import java.time.Month; +import java.time.ZonedDateTime; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.List; + +public class SeptemberDateCommand extends CommandClass { + + @Override + public boolean isEnabled() { return true; } + + @Override + public String getName() { return "SeptemberDate"; } + + @Override + public void newCommand(String name, SlashCommandInteractionEvent e) { + if ("sdate".equals(name)) { + e.deferReply().queue(); + // Setup vars + final var september = LocalDate.of(1993, Month.SEPTEMBER, 30); + var now = LocalDate.now(); + + // Create the Eternal September date + var sdate = ChronoUnit.DAYS.between(september, now); + + EmbedBuilder eb = new EmbedBuilder() + .setColor(EmbedUI.INFO) + .setTitle("sdate") + .setDescription("Today is September, " + sdate + " 1993, the september that never ends") + .setFooter(EmbedUI.BRAND) + .setTimestamp(ZonedDateTime.now()); + e.getHook().sendMessageEmbeds(eb.build()).queue(); + } + } + + @Override + public List getSlashCommandInfo() { + List cil = new ArrayList<>(); + CommandInfo ci = new CommandInfo("sdate", "Returns the Eternal September date.", CommandType.COMMAND); + cil.add(ci); + return cil; + } +} diff --git a/src/main/java/moe/oko/Kiafumi/listener/MainListener.java b/src/main/java/moe/oko/Kiafumi/listener/MainListener.java index ba0e370..c54fadc 100644 --- a/src/main/java/moe/oko/Kiafumi/listener/MainListener.java +++ b/src/main/java/moe/oko/Kiafumi/listener/MainListener.java @@ -61,7 +61,7 @@ public class MainListener extends ListenerAdapter { .setColor(EmbedUI.INFO) .setTitle("Hi, i'm Kiafumi!") .setDescription("I was summoned on October 6th 2017! My goal is to explore the metaverse and help people in it!") - .setImage(Kiafumi.JDA.getSelfUser().getAvatarUrl()) + .setThumbnail(Kiafumi.JDA.getSelfUser().getAvatarUrl()) .setTimestamp(ZonedDateTime.now()) .setFooter(EmbedUI.BRAND); event.getChannel().sendMessageEmbeds(eb.build()).queue();