如果我的ID为字符串,如何在Java中使用Discord机器人向用户添加角色?

我想根据消息中提到的人向不和谐的用户添加角色。我一直在寻找,但是当我将其id作为字符串时,找不到关于向用户添加角色的任何信息。为了获得提到的人的身份证,我使用以下行

String name = event.getMember().getUser().getAsMention();

但是我不确定在获得他们的姓名/身份证后如何实际添加该人的角色。谁能帮我这个?


潇潇雨雨
浏览 134回答 1
1回答

慕虎7371278

您必须以长值获取作者的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&nbsp; &nbsp; &nbsp; event&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .getGuild()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .getController()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .addSingleRoleToMember(member, role)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .complete();上面的代码通过访问公会的控制器将单个角色添加到成员。.addRolesToMember()存在一个方法,但是要添加多个角色,您需要一个类型为的变量Collection<Role>。另外,请确保添加异常处理,因为如果没有提到角色,第三行代码可能会产生异常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java