如何覆盖服务器中的所有频道 Discord.js

How to overwrite all the channels in the server Discord.js

感谢你试图帮助我!我正在使用 discord.js 制作一个不和谐的机器人。我做了一个完美的静音命令,我很高兴它完美无缺,但现在 discord 给我带来了另一个问题。如果我想让某人静音,我就给他一个静音角色。现在这是我的问题,我设法覆盖了我键入静音命令的频道的权限,但我需要手动覆盖服务器中的其他频道!

I want to overwrite all channels on the server!

所以我的代码是:

     message.channel.updateOverwrite(muterole, {
            VIEW_CHANNEL: true, 
            SEND_MESSAGES: false,
            READ_MESSAGE_HISTORY: true,
            TALK: false})

提前致谢!

您可以使用 each() 函数迭代(循环)当前公会中的每个频道并执行操作,如下所示:

// iterate a function through every channel in a server
message.guild.channels.cache.each((channel) => { 
   channel.updateOverwrite(muterole, {
            VIEW_CHANNEL: true, 
            SEND_MESSAGES: false,
            READ_MESSAGE_HISTORY: true,
            TALK: false});
});