我目前正在用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();
}
1条答案
按热度按时间nzk0hqpo1#
您使用的方法只返回缓存的成员,以获取您需要使用的所有成员
Guild#loadMembers()
.请在此处阅读更多信息:https://ci.dv8tion.net/job/jda/javadoc/net/dv8tion/jda/api/entities/guild.html#loadmembers()