如何在Discord.js中为人分配角色

时间:2019-11-27 00:59:13

标签: discord.js

我正在尝试制作一个不和谐的机器人来分配人员角色。但是控制台说,每当我尝试测试未定义该成员的代码时,控制台都会失败。我是J.S.的新手所以可以给我发送一些我可以尝试的代码吗?

2 个答案:

答案 0 :(得分:0)

没有定义member变量。您需要定义它才能使用它。您可以从msg对象中获取发送消息的人的GuildMember实例。 如果您查看Message的文档,则可以看到它具有名为member的属性。 尝试从member对象定义msg

const member = msg.member;

答案 1 :(得分:0)

这里有一些代码希望对您有所帮助。

检查角色是否存在:

if(!message.guild.roles.find(r => r.name === '{Role Name}')){
  message.channel.sendMessage("Role not found.")};

角色var(使后续步骤更容易):

let role = message.guild.roles.find(r => r.name === '{Role Name}')

检查他们是否已经担任该角色:

if (message.member.roles.find(role)) {
     return message.channel.sendMessage('You already have role ' + role.name)     

添加角色:

message.member.addRole(role);

说他们现在扮演了角色(可选):

message.channel.sendMessage("You now have the role " + role.name);

再次,我真的希望这有助于为成员添加角色!