[英]how to check if member has a specific role
我想為我的 discord 機器人執行此命令以向成員添加角色。
public class team1Command implements ServerCommands {
public void performCommand(Member m, TextChannel channel, Message message) {
m.getGuild().addRoleToMember(message.getMember(), message.getGuild().getRoleById(the ID of team 1)).queue();
channel.sendMessage("you joined team 1").queue();
}
}
現在我希望該命令僅在成員不具有“團隊 2”角色時才起作用
我對 discord api 不是很熟悉,但是像這樣的東西呢:
if(m.getGuild().getRoleById(the ID of team 2) != null) {
....
}
順便說一句,您問題中的代碼格式會很好
您好,這是一個代碼示例:
Role role = guild.getRoleById(661155250123702302L);
if(member.getRoles().contains(role)) {
// Member has the role
}else {
// Member dont has the role
}
您只需將 RoleID 更改為所需角色的 id,您可以通過轉到 Discord 服務器的“服務器設置”,將 go 更改為“角色”,然后右鍵單擊您的角色並單擊“復制身份證”。
如果您沒有看到“復制 ID ”,則必須通過打開“用戶設置”、go 到“外觀”來啟用“ Discord 開發人員”模式,向下滾動到“高級”並打開“開發人員模式”。
玩得開心,希望能幫到你!
目前文檔中沒有這樣的功能。 你仍然可以這樣做:
boolean hasRole;
for(int i=0; i<builder.getGuildById(guild).getMemberById(userId).getRoles().size(); i++){
if("RoleName".equals(builder.getGuildById(guild).getMemberById(userId).getRoles().get(i).getName())){
hasRole = true;
}
}
然后,對於 true if (hasRole)
或 false if (!hasRole)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.