如何向公会成员添加角色?

时间:2021-04-12 06:27:35

标签: javascript discord.js

我正在尝试为用户分配角色,但随后出现此错误:

error: member is not defined.

我想为新用户授予 Test 角色。 这是我的尝试:

client.on('message' , (message) =>{
    if(!message.member.user.bot && message.guild){
       if(message.content == '!test'){
            var role = member.guild.roles.cache.find(role => role.name == "Test");
            member.roles.add(role);
        }
    }
})

client.login(config.token) 

1 个答案:

答案 0 :(得分:0)

您的问题出在这一行:

var role = member.guild.roles.cache.find(role => role.name == "Test");

还有这个:

member.roles.add(role);

因为您没有定义 member。我想你只是忘记了开头的 message.

你应该把它改成这样:

var role = message.member.guild.roles.cache.find(role => role.name == "Test");
message.member.roles.add(role);

您可以考虑通过角色的 ID 获取角色,以防名称发生更改。 然后你想使用:

message.member.roles.cache.has(role.id)