我正在尝试向发送消息的人添加角色。我已经尝试过了,但是出现了一个错误
我试过了:
message.guild.createRole({name:"RoleName", color: "#ff0000"})
var memberRole = message.guild.roles.find(role => role.name === "RoleName");
message.member.addRole(memberRole);
如果您对该主题有任何疑问,请随时提问
最佳答案
我相信Guild#createRole()
为Promise
返回Role
,以异步方式解决。因此,如果您在第1行中创建角色,然后尝试在第2行中同步查找角色,则该角色将不在Guild#roles
下(尚未)。
而是,等待Promise
解决。然后,您可以将返回的Role
直接传递给GuildMember#addRole()
方法。
message.guild.createRole({name:"RoleName", color: "#ff0000"})
.then(createdRole => message.member.addRole(createdRole));