如何发出命令删除所有频道?

时间:2020-09-08 13:48:27

标签: javascript node.js discord discord.js bots

我正在discord.jsV12中制作一个discord机器人,该机器人会自动设置服务器。为此,我需要机器人删除所有频道。我已经尝试过msg.guild.channels.forEach(channel => channel.delete()) 但是什么也没发生,我得到了0个错误。

2 个答案:

答案 0 :(得分:0)

您尝试的实际上是解决方案。

您可以在消息对象上使用它,这意味着它是在发出消息后执行的操作,如下所示:

client.on('message', message => {
  if (message.content === '.deleteChannels') {
    message.guild.channels.forEach(channel => channel.delete());
  }
});

通过发出不和谐的邮件包含“。deleteChannels”

来触发
  • 确保您的漫游器也有权删除频道。
  • 请注意,这是对邮件的回复。否则,将不会定义message

答案 1 :(得分:0)

discord.js v12+使用Managers,这意味着您必须经过一个额外的步骤并通过cache属性。

msg.guild.channels.cache.forEach(channel => channel.delete());