diff --git a/src/main/java/wtf/beatrice/hidekobot/commands/base/DiceRoll.java b/src/main/java/wtf/beatrice/hidekobot/commands/base/DiceRoll.java new file mode 100644 index 0000000..07b1e38 --- /dev/null +++ b/src/main/java/wtf/beatrice/hidekobot/commands/base/DiceRoll.java @@ -0,0 +1,2 @@ +package wtf.beatrice.hidekobot.commands.base;public class DiceRoll { +} diff --git a/src/main/java/wtf/beatrice/hidekobot/commands/slash/DiceRollCommand.java b/src/main/java/wtf/beatrice/hidekobot/commands/slash/DiceRollCommand.java new file mode 100644 index 0000000..f72da75 --- /dev/null +++ b/src/main/java/wtf/beatrice/hidekobot/commands/slash/DiceRollCommand.java @@ -0,0 +1,54 @@ +package wtf.beatrice.hidekobot.commands.slash; + +import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; +import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; +import net.dv8tion.jda.api.interactions.commands.OptionMapping; +import net.dv8tion.jda.api.interactions.commands.OptionType; +import net.dv8tion.jda.api.interactions.commands.build.CommandData; +import net.dv8tion.jda.api.interactions.commands.build.Commands; +import org.jetbrains.annotations.NotNull; +import wtf.beatrice.hidekobot.commands.base.Say; +import wtf.beatrice.hidekobot.objects.commands.SlashCommandImpl; + +public class SayCommand extends SlashCommandImpl +{ + @Override + public CommandData getSlashCommandData() + { + + return Commands.slash("say", "Make the bot say something.") + .addOption(OptionType.STRING, "text", + "The message to send.", + true, + false) + .setDefaultPermissions(DefaultMemberPermissions.enabledFor(Say.getPermission())); + } + + @Override + public void runSlashCommand(@NotNull SlashCommandInteractionEvent event) + { + MessageChannel channel = event.getChannel(); + + // get the text to send + OptionMapping textOption = event.getOption("text"); + String messageContent = ""; + if(textOption != null) + { + messageContent = textOption.getAsString(); + } + + if(textOption == null || messageContent.isEmpty()) + { + event.reply("\uD83D\uDE20 Hey, you have to tell me what to say!") + .setEphemeral(true) + .queue(); + return; + } + + channel.sendMessage(messageContent).queue(); + event.reply("Message sent! ✨") + .setEphemeral(true) + .queue(); + } +} diff --git a/src/main/java/wtf/beatrice/hidekobot/objects/MessageResponse.java b/src/main/java/wtf/beatrice/hidekobot/objects/MessageResponse.java new file mode 100644 index 0000000..9188cd9 --- /dev/null +++ b/src/main/java/wtf/beatrice/hidekobot/objects/MessageResponse.java @@ -0,0 +1,28 @@ +package wtf.beatrice.hidekobot.objects; + +import net.dv8tion.jda.api.entities.MessageEmbed; +import org.jetbrains.annotations.Nullable; + +public class MessageResponse +{ + private final String content; + private final MessageEmbed embed; + + public MessageResponse(String content, MessageEmbed embed) + { + this.content = content; + this.embed = embed; + } + + @Nullable + public String getContent() + { + return content; + } + + @Nullable + public MessageEmbed getEmbed() + { + return embed; + } +}