Files
HidekoBot/src/main/java/wtf/beatrice/hidekobot/commands/slash/SayCommand.java
2022-12-28 05:41:22 +01:00

55 lines
1.9 KiB
Java

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();
}
}