首页 > 解决方案 > 删除单个频道/所有频道不起作用

问题描述

我正在创建一个管理服务器以适应 JavaScript 和 Discord.js 库的机器人。我尝试使用此代码删除频道,但没有成功。

guild.channel.delete('Making room for new channels')
  .then(deleted => console.log(`Deleted ${deleted.name} to make room for new channels`))
  .catch(console.error);

我已经尝试用channel.deleteand替换第一行channel.guild.delete,但我有点放弃了,因为我不知道如何让它删除公会中的每个频道。
尽管这听起来很糟糕,但我并不想破坏任何不和谐的服务器。
提前致谢。

标签: javascriptdiscorddiscord.js

解决方案


如果您希望您的机器人删除公会中的每个频道,请执行以下操作:

guild.channels.forEach(c => c.delete());

您的尝试失败了,因为channel它不是Guild Class的财产。所以我正在做的是访问channelsGuild Class 的集合,其中包含该 Guild 的每个 Channel。然后我们可以遍历每个通道并使用该delete方法,它是每个GuildChannel 对象的一部分。


推荐阅读