如何删除Discord.JS中特定类别的所有频道?我试过了
oldMember.guild.channels.cache.get(client.tr["Settings"].MainChannelID).parent.channels.cache.forEach(c => { if(c.members.size != 0){ c.delete(); } })
gev0vcfq1#
可以使用CategoryChannel.children获取属于某个类别的所有通道
CategoryChannel.children
const category = await oldMember.guild.channels.cache.get(CATEGORY_ID); // You can use `find` instead of `get` to fetch the category using a name: `find(cat => cat.name === 'test') category.children.forEach(channel => channel.delete())
5fjcxozz2#
1.我添加了按类别名称搜索,因此只需使用命令并键入类别名称1.我建议添加一个只有管理员才能使用的命令。例如if (!message.member.permissions.has("ADMINISTRATOR")) return message.reply("You need permission 'ADMINISTRATOR'")
if (!message.member.permissions.has("ADMINISTRATOR")) return message.reply("You need permission 'ADMINISTRATOR'")
if (!message.member.permissions.has("ADMINISTRATOR")) return message.reply("You need permission `ADMINISTRATOR`") let category = message.guild.channels.cache.find(c => c.name == args.join(" ") && c.type == "category") category.children.forEach(channel => channel.delete())
2条答案
按热度按时间gev0vcfq1#
可以使用
CategoryChannel.children
获取属于某个类别的所有通道5fjcxozz2#
对您定义的类别使用搜索如何?
1.我添加了按类别名称搜索,因此只需使用命令并键入类别名称
1.我建议添加一个只有管理员才能使用的命令。例如
if (!message.member.permissions.has("ADMINISTRATOR")) return message.reply("You need permission 'ADMINISTRATOR'")