我想根据消息中提到的人向不和谐的用户添加角色。我一直在寻找,但是当我将他们的id作为字符串输入时,找不到关于向用户添加角色的任何信息。要获取提及的人的ID,请使用
String name = event.getMember().getUser().getAsMention();
但是我不确定在获得他们的姓名/身份证后如何实际添加角色。有人可以帮我吗?
答案 0 :(得分:0)
您必须以长值获取作者的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>
的变量。另外,请确保添加异常处理,因为如果没有提到角色,第三行代码可能会产生异常。