From 0350e3e935f5655f2aa16a27caab2ca0caa6dfcc Mon Sep 17 00:00:00 2001 From: TiddyT Date: Wed, 30 Mar 2022 00:49:46 -0500 Subject: [PATCH] Added dreidel command --- src/main/java/moe/oko/Kiafumi/Kiafumi.java | 1 + .../oko/Kiafumi/command/DreidelCommand.java | 59 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 src/main/java/moe/oko/Kiafumi/command/DreidelCommand.java diff --git a/src/main/java/moe/oko/Kiafumi/Kiafumi.java b/src/main/java/moe/oko/Kiafumi/Kiafumi.java index f37e096..6e69874 100644 --- a/src/main/java/moe/oko/Kiafumi/Kiafumi.java +++ b/src/main/java/moe/oko/Kiafumi/Kiafumi.java @@ -83,6 +83,7 @@ public class Kiafumi { activeCommands.add(new MusicCommand()); activeCommands.add(new FightCommand()); activeCommands.add(new SeptemberDateCommand()); + activeCommands.add(new DreidelCommand()); instance = this; diff --git a/src/main/java/moe/oko/Kiafumi/command/DreidelCommand.java b/src/main/java/moe/oko/Kiafumi/command/DreidelCommand.java new file mode 100644 index 0000000..721d034 --- /dev/null +++ b/src/main/java/moe/oko/Kiafumi/command/DreidelCommand.java @@ -0,0 +1,59 @@ +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.ZonedDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.concurrent.TimeUnit; + +public class DreidelCommand extends CommandClass{ + private boolean enabled = true; + + @Override + public boolean isEnabled() { return enabled; } + + @Override + public String getName() { return "Dreidel"; } + + @Override + public void newCommand(String name, SlashCommandInteractionEvent e) { + if ("dreidel".equals(name)) { + List sides= new ArrayList<>(); + sides.add("Nun"); + sides.add("Gimmel"); + sides.add("Hay"); + sides.add("Shin"); + e.deferReply().queue(); + EmbedBuilder eb = new EmbedBuilder() + .setColor(EmbedUI.INFO) + .setTitle("Spinning...") + .setDescription("*brrrrrrrrrrrrrr*") + .setFooter(EmbedUI.BRAND) + .setTimestamp(ZonedDateTime.now()); + e.getHook().sendMessageEmbeds(eb.build()).queue(); + Random rand = new Random(); + String result = sides.get(rand.nextInt(sides.size())); + EmbedBuilder eb1 = new EmbedBuilder() + .setColor(EmbedUI.INFO) + .setTitle("You rolled...") + .setDescription(result + "!") + .setFooter(EmbedUI.BRAND) + .setTimestamp(ZonedDateTime.now()); + e.getHook().editOriginalEmbeds(eb1.build()).completeAfter(3, TimeUnit.SECONDS); + } + } + + @Override + public List getSlashCommandInfo() { + List si = new ArrayList<>(); + CommandInfo ci = new CommandInfo("dreidel", "Spins a dreidel!", CommandType.COMMAND); + si.add(ci); + return si; + } +}