java - JDA - 如果添加了某个角色,则向用户添加角色
问题描述
我正在尝试编写一个不和谐的机器人,如果向用户添加了一个角色,它就会向他添加一个新角色。我被困在角色添加部分。
这是我的代码。我希望有人能帮帮忙:
import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleAddEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import java.util.List;
public class TeamAutorole extends ListenerAdapter {
@Override
public void onGuildMemberRoleAdd(GuildMemberRoleAddEvent e) {
if(e.getRoles().toString().contains("\uD83D\uDC6ESupporter")) {
}
}
}
解决方案
首先,您要检查成员的角色列表是否包含您想要的角色,然后根据该角色添加另一个角色。
//gets role with name "\uD83D\uDC6ESupporter"
Role supporter = e.getGuild().getRolesByName("\uD83D\uDC6ESupporter", true).get(0);
//gets role with name "Dummy"
Role dummy = e.getGuild().getRolesByName("Dummy", true).get(0);
//check if the list of roles of the user contains the role supporter
if (e.getMember().getRoles().contains(supporter)) {
//adds role dummy to member
e.getGuild().addRoleToMember(e.getMember(), dummy).queue();
}
推荐阅读
- python - Select column in pivot table output
- python - Python pip 安装 mysqlclient
- azure-active-directory - 请求 offline_access 时 AAD 未提供 refresh_token
- android - Android,IntentService 与 HandlerThread 的自定义服务
- java - 如何为每个 flink 作业单独的日志信息?
- android - Play 商店 - 未找到商品
- angular - 为什么打字稿允许将匿名类型转换为对象,即使类型与对象道具不匹配
- html - 如何在 HTML 上设置密码的最小和最大长度
- ios - Xcode 11 beta 5:将 textFields 添加到 UIAlertController 时 UI 冻结
- pagespeed - Disqus 评论影响我的页面速度。我怎样才能延迟加载或点击显示评论?