APPLICATION_COMMAND_INVALID_NAME错误:命令重命名后双命令失效问题求助
解决命令重命名后新旧共存且触发APPLICATION_COMMAND_INVALID_NAME错误的问题
核心排查方向
- 缓存残留问题:Discord客户端和服务器端会缓存命令,重命名后旧的
pool命令可能没被清理,导致新旧命令冲突。- 解决:手动刷新客户端(Ctrl+R/Command+R),或调用命令清空所有旧命令后重新注册
tip。比如用Discord.js的代码:// 先清空所有命令 await client.application.commands.set([]); // 再重新注册tip命令 await client.application.commands.create(tipCommandData);
- 解决:手动刷新客户端(Ctrl+R/Command+R),或调用命令清空所有旧命令后重新注册
- 命名合规性检查:
tip或旧命令pool可能违反了平台的命令命名规则——命令名称必须是2-32个字符,仅允许小写字母、数字、-和_,不能有空格或特殊符号。尤其是对应意大利语suggest功能的本地化名称,必须严格符合规则,否则会触发APPLICATION_COMMAND_INVALID_NAME错误。 - 代码残留问题:检查代码中是否同时保留了
pool和tip的注册逻辑,或者注册时没有覆盖旧命令而是新增了新命令。确保只有tip命令的注册代码存在,SlashCommandBuilder的名称参数必须设为tip。 - 本地化配置错误:如果给命令设置了意大利语本地化名称,确认该名称符合命名规范,没有拼写错误或违规字符。
需要提供的代码/信息
如果上述方法无效,需要补充以下内容:
- 命令注册的核心代码(包括SlashCommandBuilder构建、批量注册逻辑)
- 本地化名称的配置代码(如果有)
APPLICATION_COMMAND_INVALID_NAME错误的完整日志信息
内容的提问来源于stack exchange,提问作者Kiogra
相关产品推荐
相关产品推荐

