【问题标题】:Discord.js - Delete all channel by running Discord-Bot without a commandDiscord.js - 通过不使用命令运行 Discord-Bot 来删除所有频道
【发布时间】:2022-11-26 22:20:33
【问题描述】:

嘿,我需要一个项目,一个工具来通过 Discord.js Bot 删除 Discord 服务器上的所有频道。 我得到了一个带有处理程序的,这是我的“事件代码”,但确实有效。

Discord.js v14

const client = require("../../index");

module.exports = {
  name: "blacksheep"
};
      
client.on("ready", () => {
var server = Client.guilds.get('1045245227264397382'); 
for (var i = 0; i < server.channels.array().length; i++) {
    server.channels.array()[i].delete();
}})

我找不到让它工作的正确方法。谢谢 <3

然后我启动机器人,所有频道都应该在没有任何命令的情况下被删除。

【问题讨论】:

    标签: discord.js bots channels


    【解决方案1】:

    您需要包含错误消息或运行此代码的结果是什么,以便我们真正帮助您,但现在我假设您的机器人和机器人事件处理程序中的所有内容都在工作,除了循环的最后三行通过频道并将其删除。如果是这种情况,那么您只需要将这些行更改为类似这样的内容(用这个替换您的 for 循环块):

    server.channels.cache.forEach((channel) => {
        channel.delete();
    });
    

    这会访问server's channel cache,它是一个集合,因此它使用集合的forEach函数循环遍历所有频道,然后调用每个频道的delete()函数删除它们。

    请注意,执行此操作时您可能会遇到严格的速率限制,因为 Discord 对服务器通道的请求有严格的速率限制。

    【讨论】:

      猜你喜欢
      • 2021-12-24
      • 2020-10-30
      • 2018-09-17
      • 2020-12-04
      • 2020-10-15
      • 2022-10-01
      • 2019-07-31
      • 2021-06-30
      • 2020-06-23
      相关资源
      最近更新 更多