我想根据消息中提到的人向不和谐的用户添加角色。我一直在寻找,但是当我将其id作为字符串时,找不到关于向用户添加角色的任何信息。为了获得提到的人的身份证,我使用以下行String name = event.getMember().getUser().getAsMention();但是我不确定在获得他们的姓名/身份证后如何实际添加该人的角色。谁能帮我这个?
1 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
您必须以长值获取作者的ID ,才能将其作为成员实例获取
long authorID = event.getMessage().getAuthor().getIdLong();
Member member = event.getGuild().getMemberById(authorID);
Role role = event.getMessage().getMentionedRoles().get(0); //checks for mentioned roles in the message
event
.getGuild()
.getController()
.addSingleRoleToMember(member, role)
.complete();
上面的代码通过访问公会的控制器将单个角色添加到成员。.addRolesToMember()存在一个方法,但是要添加多个角色,您需要一个类型为的变量Collection<Role>。另外,请确保添加异常处理,因为如果没有提到角色,第三行代码可能会产生异常。
添加回答
举报
0/150
提交
取消