首页 > 解决方案 > 如何将角色添加到公会成员?

问题描述

我试图给用户一个角色,但后来我收到了这个错误:

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) 

标签: javascriptdiscord.js

解决方案


您的问题出在这一行:

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)

推荐阅读