交互应用程序的无效命令
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(...)
中,而不是一次只放一个!
我注册了一个 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(...)
中,而不是一次只放一个!