【问题标题】:How to delete a specific channel如何删除特定频道
【发布时间】:2019-06-17 17:12:06
【问题描述】:

我正在创建一个机器人,它在运行!setup 时设置服务器。我已经成功创建了我需要的频道,但我不知道如何删除默认的文本和语音频道以及它们各自的类别。

我还没试过。

我希望在创建其他频道后删除默认频道。

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    一个简单的选择是在公会中找到与公会同时创建的频道,然后遍历并删除每个频道。

    例子:

    const defaultChannels = message.guild.channels.filter(c => c.createdTimestamp === message.guild.createdTimestamp);
    
    defaultChannels.forEach(channel => {
      channel.delete()
        .catch(console.error);
    });
    

    【讨论】:

    • 我已经尝试过这个并且有一个错误源于“通过在没有 catch 块的情况下抛出异步函数内部,或者通过拒绝未使用 .catch() 处理的承诺”
    • 不应出现未处理的 promise 拒绝警告,因为 promise 附加了一个 catch() 方法。
    • 我输入的代码与您的屏幕截图中的完全相同,但仍然出现此错误。还有另一个错误说“defaultChannels.forEach 不是函数”
    • 糟糕,我刚刚意识到我犯了错误并使用了find() 而不是filter()。我的错!使用修改后的版本重试。
    猜你喜欢
    • 2019-09-05
    • 2021-05-02
    • 2019-06-13
    • 2020-11-22
    • 2022-01-12
    • 1970-01-01
    • 2020-10-01
    • 2020-09-01
    • 1970-01-01
    相关资源
    最近更新 更多