-1

您好,我想创建一个订单 ( ! 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)

先感谢您

4

1 回答 1

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)
        }

    })
    ```
于 2020-01-14T14:22:25.813 回答