Discord.js-赋予角色所有渠道

时间:2020-01-14 12:14:39

标签: discord.js

您好,我想创建一个订单(! Giverole),以便为服务器的所有渠道赋予角色(静音)或将其定为订单​​。

client.on('message', message => {
if(message.content.startsWith(prefix + "giverole")) {

var mute_role = message.guild.roles.find(r => r.name == 'mute', {READ_MESSAGES: true, SEND_MESSAGES: false})

if (!mute_role) return message.channel.send(`**${message.author.username}**, role not found`)

message.guild.channels.overwritePermissions(channel => channel.addRole(mute_role));


                      var lock_embed = new Discord.RichEmbed()
                      .setColor("#ffad33")
                      .setDescription(":lock: **Salon bloqué pour les gens mute**")

                      message.channel.send(lock_embed)

先谢谢您

1 个答案:

答案 0 :(得分:0)

首先-始终尝试使用具有角色ID的角色,这样更安全。 如果我正确理解您的问题,并且您需要在所有渠道上都扮演一定角色以建立某些权利。因此您可以使用此代码。

    client.on('message', message => {
        if(message.content.startsWith(prefix + "giverole")) {
            let muteRole = message.guild.roles.get('ROLEID')

            if (!muteRole) return message.channel.send(`**${message.author.username}**, role not found`)

            message.guild.channels.map(channel => {
                if(channel.type === 'text') {
                    channel.overwritePermissions(muteRole, {
                        VIEW_CHANNEL: true,
                        SEND_MESSAGES: false
                    })
                     .then(console.log)
                     .catch(console.log);
                }
            })


            let lock_embed = new Discord.RichEmbed()
            .setColor("#ffad33")
            .setDescription(":lock: **Salon bloqué pour les gens mute**")
            message.channel.send(lock_embed)
        }

    })
    ```