交互应用程序的无效命令

Invalid command for interaction application

我注册了一个 SlashCommand...但它回答“交互应用程序的命令无效”有人可以帮忙...

 @Override
    public void onSlashCommand(SlashCommandEvent event) {

        if (event.getName().equals("login")) {

            EmbedBuilder buil = new EmbedBuilder();
            buil.setColor(Color.RED);
            buil.appendDescription("Du hast deinen DiscordAccount noch nicht mit dem TurnierSystem verknüpft... Benutze ?connect um die Accounts zu verknüpfen.");
            buil.setAuthor("TurnierSystem");
            buil.setTitle("Discord Login (Fehler)");

           event.replyEmbeds(buil.build()).queue();

        }

此响应意味着 Discord 客户端尝试使用它已缓存的旧版本命令。如果您只是重新键入命令,它应该使用更新后的命令。

此行为的原因是启动机器人时调用 upsertCommand。这将替换现有命令并使客户端缓存无效。

您可以改用 updateCommands().addCommands(allOfYourCommands).queue() 来防止这种情况发生。但是,请记住,您需要将所有命令放在 addCommands(...) 中,而不是一次只放一个!