如何删除discord.js客户端中的斜杠命令?无法获取命令ID
如何获取并删除Discord斜杠命令
获取命令ID
要删除多余的斜杠命令,首先得拿到目标命令的ID,你可以通过遍历服务器内的所有命令来获取:
// 基于discord.js的示例代码 guild.commands.fetch() .then(commands => { commands.forEach(cmd => { console.log(`命令名: ${cmd.name}, ID: ${cmd.id}`); }); }) .catch(console.error);
运行这段代码后,控制台会输出服务器内所有斜杠命令的名称和对应ID,找到你要删除的那两个命令的ID即可。
删除指定命令
拿到ID后,直接用你原本的方法执行删除:
guild.commands.delete("替换为找到的命令ID") .then(() => console.log("命令删除成功")) .catch(console.error);
如果要批量删除多个命令,可以用循环处理:
// 把要删除的命令ID放进数组 const targetIds = ["第一个命令ID", "第二个命令ID"]; targetIds.forEach(id => { guild.commands.delete(id) .then(() => console.log(`已删除ID为${id}的命令`)) .catch(err => console.error(`删除ID${id}失败: ${err}`)); });
注意事项
如果你的斜杠命令是全局命令(而非服务器专属),需要把代码里的guild.commands换成client.application.commands,获取和删除操作都要对应调整。
内容的提问来源于stack exchange,提问作者JScanvaser
相关产品推荐
相关产品推荐

