我想为每个加入公会的用户自动分配一个角色。我正在使用下面的代码:它不起作用,但没有记录错误。
我已经检查过我的机器人是否有权管理角色。
bot.on('guildMemberAdd', member => {
var role = member.guild.roles.find('Member', 'user');
member.addRole(role);
});
答案 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