如何在新成员加入时添加角色?

时间:2018-12-13 21:20:22

标签: discord.js

我想为每个加入公会的用户自动分配一个角色。我正在使用下面的代码:它不起作用,但没有记录错误。
我已经检查过我的机器人是否有权管理角色。

bot.on('guildMemberAdd', member => {      
  var role = member.guild.roles.find('Member', 'user');
  member.addRole(role);
});

1 个答案:

答案 0 :(得分:0)

它不起作用,因为您以错误的方式使用了roles.find():如果您希望角色的.name'Members',则应输入:

var role = member.guild.roles.find('name', 'Member');
member.addRole(role);

这应该可行,但是这是不推荐使用的方法:这意味着discord.js的开发人员将来会删除它。为了避免以后需要更改,您可以开始使用不推荐使用的方法:您应该传递一个函数,该函数返回角色是否符合您的条件。这样比较好,因为您可以组合多个属性和检查。

var role = member.guild.find((role) => { // long way
  if (role.name == 'Member') return true;
});

var role = member.guild.find(role => role.name == 'Member'); // shorter way