jdagetmembers()只返回自bot启动后在聊天中写入的用户?

ctehm74n  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(363)

我目前正在用jda用java开发discord机器人。直到两周前,它还很有效。由于这一次jda似乎不再能够通过event.getguild().getmembers()获取所有用户,它将只返回自bot启动以来在聊天中写入的成员。使用event.getguild().getmembercount()方法,jda将提供正确的用户数量,但是如果我使用event.getguild().getmembers().length检查列表的长度,它将只提供用户数量,这是之前在聊天中写入的。我做错了什么?
我的代码应该获得所有成员的列表:

String msg = "`" + guild.getMembers().get(0).getUser().getAsTag() + "`";
        List<Member> members = guild.getMembers();

        for (int i = 1; i < guild.getMemberCount(); i++) {
            msg = msg + ", `" + members.get(i).get.getUser().getAsTag() + "`" + event.getGuild().getMemberCount();
        }
nzk0hqpo

nzk0hqpo1#

您使用的方法只返回缓存的成员,以获取您需要使用的所有成员 Guild#loadMembers() .
请在此处阅读更多信息:https://ci.dv8tion.net/job/jda/javadoc/net/dv8tion/jda/api/entities/guild.html#loadmembers()

相关问题