JDA进入公会后如何更新语音通道
How can I update the voice channel when a user enters the guild with JDA
我基本上是想将此代码转换为 JDA
Java脚本
bot.channels.get(serverStats.totalUserID).setName(`Total Users: ${member.guild.memberCount}`);
Java(错误)
public void onGuildJoin(GuildJoinEvent event) {
event.getGuild().getTextChannelById(573629024102776853L).setName("Total Users:" + event.getGuild().getMembers().size()); //<---- Error
}
要重命名 TextChannel,您必须使用管理器。
例如:
event.getGuild().getTextChannelById(573629024102776853L).getManager().setName("Total Users:" + event.getGuild().getMembers().size());
查看 Channel#getManager() 了解更多信息。
要修改 JDA 中的实体,您通常必须使用管理器。您几乎可以在每个实体上通过 getManager()
获取管理器实例。
TextChannel channel = guild.getTextChannelById(573629024102776853L);
channel.getManager()
.setName("Total Users:" + guild.getMemberCache().size())
.queue(); // this is needed, otherwise the request won't be made to discord
如果频道的 ID 不正确,它将在 channel.getManager()
上抛出 NPE,因为 getTextChannelById
将 return 为空。
我使用 getMemberCache()
而不是 getMembers()
因为它对这种代码更有效率。该大小直接在 cache-view 实例上可用,不需要将整个缓存复制到列表中,这实际上是 getMembers()
所做的。
我基本上是想将此代码转换为 JDA
Java脚本
bot.channels.get(serverStats.totalUserID).setName(`Total Users: ${member.guild.memberCount}`);
Java(错误)
public void onGuildJoin(GuildJoinEvent event) {
event.getGuild().getTextChannelById(573629024102776853L).setName("Total Users:" + event.getGuild().getMembers().size()); //<---- Error
}
要重命名 TextChannel,您必须使用管理器。 例如:
event.getGuild().getTextChannelById(573629024102776853L).getManager().setName("Total Users:" + event.getGuild().getMembers().size());
查看 Channel#getManager() 了解更多信息。
要修改 JDA 中的实体,您通常必须使用管理器。您几乎可以在每个实体上通过 getManager()
获取管理器实例。
TextChannel channel = guild.getTextChannelById(573629024102776853L);
channel.getManager()
.setName("Total Users:" + guild.getMemberCache().size())
.queue(); // this is needed, otherwise the request won't be made to discord
如果频道的 ID 不正确,它将在 channel.getManager()
上抛出 NPE,因为 getTextChannelById
将 return 为空。
我使用 getMemberCache()
而不是 getMembers()
因为它对这种代码更有效率。该大小直接在 cache-view 实例上可用,不需要将整个缓存复制到列表中,这实际上是 getMembers()
所做的。