JDA ChannelManager setname Channel 查看在线统计

JDA ChannelManager setname Channel view online stats

加入discord后,频道应该会刷新并显示新的在线玩家数量。执行两次后频道不再刷新

public void onGuildMemberJoin(@Nonnull GuildMemberJoinEvent event) {
    Guild guild = event.getGuild();
    long online = guild.getMembers().stream()
            .filter(member -> 
                    !member.getOnlineStatus().equals(OnlineStatus.OFFLINE))
            .count();
    VoiceChannel channel = event.getGuild().getVoiceChannelById(742890118943080480L);
    channel.getManager().setName("Online: " + online).queue();
}

Discord 不希望机器人如此频繁地更新频道。频道名称不应该用于显示这样的统计信息。他们最近对此更新过程引入了 2 / 10 分钟的速率限制。

这意味着您不能每 10 分钟更新频道名称(或主题)超过两次。