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

时间:2019-01-05 07:59:47

标签: java bots discord

我想根据消息中提到的人向不和谐的用户添加角色。我一直在寻找,但是当我将他们的id作为字符串输入时,找不到关于向用户添加角色的任何信息。要获取提及的人的ID,请使用

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

但是我不确定在获得他们的姓名/身份证后如何实际添加角色。有人可以帮我吗?

1 个答案:

答案 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>的变量。另外,请确保添加异常处理,因为如果没有提到角色,第三行代码可能会产生异常。