Javascript Discord.js:如何创建一个新角色,然后将其分配给所有用户?

Javascript Discord.js:如何创建一个新角色,然后将其分配给所有用户?,javascript,discord,discord.js,Javascript,Discord,Discord.js,我试图制造我的第一个不和机器人。机器人应该创建一个新角色,然后将其分配给公会的所有用户。我怎样才能做到呢 下面是我的代码,尽管它不起作用: bot.on('guildCreate', function(guild) { guild.roles.create({ data: { name: 'Authorized2', color: 'GREEN', }, reason: 'we needed

我试图制造我的第一个不和机器人。机器人应该创建一个新角色,然后将其分配给公会的所有用户。我怎样才能做到呢

下面是我的代码,尽管它不起作用:

bot.on('guildCreate', function(guild) {
    guild.roles.create({
        data: {
            name: 'Authorized2',
            color: 'GREEN',
        },
        reason: 'we needed a role for Super Cool People',
    }).then(guild.members.forEach(member => member.roles.add(role)));
});

我收到以下错误:
guild.members.forEach不是一个函数

看起来您需要使用
members.cache来访问成员数组

bot.on('guildCreate',函数(guild){
guild.roles.create({
数据:{
名称:'Authorized2',
颜色:“绿色”,
},
理由:“我们需要一个超级酷的角色”,
}).then(guild.members.cache.forEach(member=>member.roles.add(role));
});
两件事:

  • members
    是一个管理器,因此在使用
    .forEach
    方法之前,您需要访问
    .cache
    属性
  • 您尝试在
    member.roles.add(role)
    中添加
    role
    ,当您在
    then()
    方法中收到
    角色时,您忘记了添加箭头函数
bot.on('guildCreate',(guild)=>{
帮会角色
.创造({
数据:{
名称:'Authorized2',
颜色:“绿色”,
},
理由:“我们需要一个超级酷的角色”,
})
。然后((角色)=>
guild.members.cache.forEach((member)=>member.roles.add(role)),
);
});

We progress:当bot进入服务器时,将创建角色,但仅分配给bot,而不分配给服务器上已存在的其他成员