JDA - 如果添加了某个角色,则向用户添加角色

时间:2021-03-13 12:49:01

标签: java discord discord-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")) {


        }
    }
}

1 个答案:

答案 0 :(得分:0)

首先您要检查成员的角色列表是否包含您想要的角色,然后根据该角色添加另一个角色。

//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();

}