为了账号安全,请及时绑定邮箱和手机立即绑定

Discord.js 检查频道的每个角色权限

Discord.js 检查频道的每个角色权限

扬帆大鱼 2023-08-18 13:59:01
我正在尝试创建一个命令,从机器人所在的服务器 ID 获取每个通道和角色,然后对于每个通道/角色,它复制服务器 ID 拥有的所有内容并创建它。创建频道时,我在获取频道中每个角色的权限时遇到问题。当我尝试执行此命令时出现错误TypeError [INVALID_TYPE]: Supplied parameter is not a User nor a Role. if (command === 'clone') {          let guild = args[0]     let findguild = client.guilds.cache.get(guild)     let findguildchannels = findguild.channels.cache.forEach(c => message.guild.channels.create(c.name, { type: `${c.type}`,  permissionOverwrites: c.permissionOverwrites.map(v => ({                    id: message.guild.roles.cache.forEach(role =>(role.id)),                    allow: v.allow,                    deny: v.deny                })), userLimit: c.userLimit}))    let findguildroles = findguild.roles.cache.forEach(c => message.guild.roles.create({        data: { name: `${c.name}`,  color: '#' + c.color.toString(16), permissions: c.permissions.toArray() }    }))  console.log(findguildchannels)  }
查看完整描述

2 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

我只需要这样做


 if (command === 'clone') {

          let guild = args[0]

     let findguild = client.guilds.cache.get(guild)

    let findguildroles = findguild.roles.cache.forEach(c => message.guild.roles.create({

        data: { name: `${c.name}`,  color: '#' + c.color.toString(16), permissions: c.permissions.toArray() }

    }))


         let findguildchannels = findguild.channels.cache.forEach(c => message.guild.channels.create(c.name, { type: `${c.type}`, permissionOverwrites: c.permissionOverwrites.map(v => {

                            let target =  message.guild.roles.cache.get(v.id);

                            if (!target) return;

                            return {

                                id: message.guild.roles.cache.find(r => r.name === target.name),

                                allow: v.allow,

                                deny: v.deny

                            };

                        }).filter(v => v), userLimit: c.userLimit}))

  console.log(findguildchannels)

  }


查看完整回答
反对 回复 2023-08-18
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

Discord 已经有服务器模板功能


https://img1.sycdn.imooc.com//64df08d50001c51509800635.jpg

查看完整回答
反对 回复 2023-08-18
  • 2 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信