From f4e770208ee89f716c3eb43b91421f1bad73fc13 Mon Sep 17 00:00:00 2001 From: yuu1111 Date: Fri, 19 Jun 2026 05:51:27 +0900 Subject: [PATCH] =?UTF-8?q?info=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89?= =?UTF-8?q?=E3=81=AE=E3=82=B5=E3=83=96=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89?= =?UTF-8?q?=E3=82=92choices=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itts/core/discord/command/InfoCommand.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/dev/felnull/itts/core/discord/command/InfoCommand.java b/core/src/main/java/dev/felnull/itts/core/discord/command/InfoCommand.java index d6cd5c5..517a447 100644 --- a/core/src/main/java/dev/felnull/itts/core/discord/command/InfoCommand.java +++ b/core/src/main/java/dev/felnull/itts/core/discord/command/InfoCommand.java @@ -7,9 +7,11 @@ import net.dv8tion.jda.api.components.buttons.ButtonStyle; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.InteractionContextType; +import net.dv8tion.jda.api.interactions.commands.OptionMapping; +import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.Commands; +import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; -import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; import net.dv8tion.jda.api.utils.messages.MessageCreateData; import org.jetbrains.annotations.NotNull; @@ -46,14 +48,16 @@ public SlashCommandData createSlashCommand() { return Commands.slash("info", "情報を表示") .setContexts(InteractionContextType.GUILD) .setDefaultPermissions(MEMBERS_PERMISSIONS) - .addSubcommands(new SubcommandData("about", "BOT情報を表示")) - .addSubcommands(new SubcommandData("oss", "OSS情報を表示")) - .addSubcommands(new SubcommandData("work", "稼働情報を表示")); + .addOptions(new OptionData(OptionType.STRING, "type", "表示する情報の種類", true) + .addChoice("BOT情報", "about") + .addChoice("OSSクレジット", "oss") + .addChoice("稼働情報", "work")); } @Override public void commandInteraction(SlashCommandInteractionEvent event) { - switch (Objects.requireNonNull(event.getSubcommandName())) { + OptionMapping typeOption = Objects.requireNonNull(event.getOption("type")); + switch (typeOption.getAsString()) { case "about" -> about(event); case "oss" -> oss(event); case "work" -> work(event);