我正在尝试制作一个不和谐的机器人来分配人员角色。但是控制台说,每当我尝试测试未定义该成员的代码时,控制台都会失败。我是J.S.的新手所以可以给我发送一些我可以尝试的代码吗?
答案 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);
再次,我真的希望这有助于为成员添加角色!