Как превратить arg или строку в пользователя?

Я делаю команду и мне нужно получить список ролей для пользователя, проблема в том, что аргумент является строкой, а getMember() ожидает пользователя. Как мне превратить строку в пользователя или есть только лучший способ?

У меня проблемы со стрельбой с моими друзьями, пробующими разные методы Честно говоря, на данный момент я не могу вспомнить, что мы пытались.

else if(args[0].equalsIgnoreCase(MeatBotMain.prefix + "getuserroles")) {
            Guild server = event.getGuild();
            String userName = args[1];
            Member user = server.getMember(userName);
            List<Role> userRoles = user.getRoles();
        }

Я не ожидал, что найти упомянутого пользователя будет так сложно, я думал, что это сработает с первой попытки.

1 ответ

Если у вас есть только имя пользователя, которое не является уникальным, Guild класс имеет методы:

List<Member> getMembersByName(String name, boolean ignoreCase);
List<Member> getMembersByNickname(String nickname, boolean ignoreCase);
List<Member> getMembersByEffectiveName(String name, boolean ignoreCase);

что вы можете попробовать.

Другие вопросы по тегам