kiafumi/src/main/java/moe/oko/Kiafumi/command/fun/DreidelCommand.java

71 lines
2.2 KiB
Java
Raw Normal View History

package moe.oko.Kiafumi.command.fun;
2022-03-30 05:49:46 +00:00
import moe.oko.Kiafumi.command.CommandClass;
2022-03-30 05:49:46 +00:00
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;
import static moe.oko.Kiafumi.util.LoggingManager.slashLog;
/**
* Dreidel Dreidel...
* @author Tiddy
*/
public class DreidelCommand extends CommandClass {
private final List<String> sides;
2022-03-30 05:59:38 +00:00
public DreidelCommand() {
List<String> sides = new ArrayList<>();
sides.add("Nun");
sides.add("Gimmel");
sides.add("Hay");
sides.add("Shin");
this.sides = sides;
}
2022-03-30 05:49:46 +00:00
@Override
public boolean isEnabled() { return true; }
2022-03-30 05:49:46 +00:00
@Override
public String getName() { return "Dreidel"; }
@Override
public void newCommand(String name, SlashCommandInteractionEvent e) {
if ("dreidel".equals(name)) {
slashLog(e);
2022-03-30 05:49:46 +00:00
e.deferReply().queue();
var eb = new EmbedBuilder()
2022-03-30 05:49:46 +00:00
.setColor(EmbedUI.INFO)
.setTitle("Spinning...")
.setDescription("*brrrrrrrrrrrrrr*")
.setFooter(EmbedUI.BRAND)
.setTimestamp(ZonedDateTime.now());
e.getHook().sendMessageEmbeds(eb.build()).queue();
var rand = new Random();
var result = sides.get(rand.nextInt(sides.size()));
var eb1 = new EmbedBuilder()
2022-03-30 05:49:46 +00:00
.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<CommandInfo> getSlashCommandInfo() {
List<CommandInfo> si = new ArrayList<>();
si.add(new CommandInfo("dreidel", "Spins a dreidel!", CommandType.COMMAND));
2022-03-30 05:49:46 +00:00
return si;
}
}