我想根據消息中提到的人向不和諧的用戶添加角色。我一直在尋找,但是當我將其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
提交
取消