【问题标题】:How can I make a command to delete all channels?如何发出命令删除所有频道?
【发布时间】:2020-12-26 22:08:14
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    包含“.deleteChannels”的不和谐消息触发

    • 确保您的机器人也有权删除频道。
    • 请注意,这是对消息的回复。否则,message 将不会被定义。

    【讨论】:

      猜你喜欢
      • 2019-11-29
      • 2021-05-02
      • 2020-10-15
      • 2010-10-06
      • 1970-01-01
      • 2022-11-26
      • 2022-11-16
      • 2020-12-12
      • 2019-03-02
      相关资源
      最近更新 更多