为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

潇潇雨雨 2021-04-09 10:05:47
我想根据消息中提到的人向不和谐的用户添加角色。我一直在寻找,但是当我将其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>。另外,请确保添加异常处理,因为如果没有提到角色,第三行代码可能会产生异常。


查看完整回答
反对 回复 2021-04-14
  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信