我想为我的不和谐机器人执行此命令以向成员添加角色。
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”角色时该命令才能工作
答案 0 :(得分:0)
我对discord api不太熟悉,但是这样的事情呢?
if(m.getGuild().getRoleById(the ID of team 2) != null) {
....
}
顺便说一句,问题中的代码格式会很好
答案 1 :(得分:0)
你好,下面是一个代码示例:
Role role = guild.getRoleById(661155250123702302L);
if(member.getRoles().contains(role)) {
// Member has the role
}else {
// Member dont has the role
}
您只需将RoleID更改为所需角色的ID,就可以通过转到Discord Server的“ 服务器设置”来获取角色的ID,转到“ 角色”,然后右键单击您的角色,然后单击“ 复制ID ”。
如果看不到“ 副本ID ”,则必须通过打开“ 用户设置”来启用“ Discord Developer ”模式,转到“ 外观”,向下滚动到“ 高级”,然后打开“ 开发人员模式”。
玩得开心,希望我能为您提供帮助!
答案 2 :(得分:0)
文档中暂时没有此类功能。 您仍然可以这样做:
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)
?