簡體   English   中英

如何檢查成員是否具有特定角色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM