jda guild.getmembers()不再获得所有成员

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

这是我的代码,我用了很长时间,因为在最近的jda更改之前,我认为7月份

for (Member member : guild.getMembers()) {
 // code
}

这样就不起作用了,在停止之前,它只在大约4个成员之间循环。有什么新的我需要添加到这个修补程序以来?我注解掉了整个循环体,只放了一个system.println member.geteffectivename(),它每次只打印4个名称,当时大约有80个人处于不和谐状态。

5sxhfpxr

5sxhfpxr1#

您将需要缓存成员以循环访问它们。当使用诸如 getMember() 或者 getMemberById() 除非它是公会的所有者或者机器人本身是空的。
使用时 createLight() 或者 createDefault() 对于构建jda,默认情况下禁用成员缓存和成员分块。
像user class这样的东西不能为null,因为它是由discord提供的
有关缓存所有成员的更多信息,请阅读以下内容

相关问题