private String buildPayload(SelfUser selfUser) { JSONObject main = new JSONObject(); JSONObject bot = new JSONObject(); bot.put("name", selfUser.getName()); bot.put("avatar", selfUser.getAvatarId()); main.put("bot", bot); JSONArray shards = new JSONArray(); for (JDA shard : avaire.getShardManager().getShards()) { JSONObject shardObj = new JSONObject(); shardObj.put("id", shard.getShardInfo().getShardId()); shardObj.put("latency", shard.getPing()); shardObj.put("users", shard.getUsers().size()); shardObj.put("channels", getTotalChannels(shard)); shardObj.put("guilds", shard.getGuilds().size()); shards.put(shardObj); } main.put("shards", shards); return main.toString(); }
private JSONArray buildShards() { JSONArray shards = new JSONArray(); for (JDA shard : metrics.getAvaire().getShardManager().getShards()) { JSONObject stats = new JSONObject(); stats.put("id", shard.getShardInfo().getShardId()) .put("guilds", shard.getGuilds().size()) .put("users", shard.getUsers().size()) .put("status", shard.getStatus()) .put("channels", (shard.getTextChannels().size() + shard.getVoiceChannels().size())) .put("latency", shard.getPing()); shards.put(stats); } return shards; }
private void fixUserNames(DiscordBot bot, MessageChannel channel) { DiscordBot[] shards = bot.getContainer().getShards(); long tmp = 0; final long updateInterval = 2500; for (DiscordBot shard : shards) { tmp += shard.getJda().getUsers().size(); } final long totalUsers = tmp; int length = 1 + (int) Math.floor(Math.log10(totalUsers)); String messageFormat = Emojibet.INFORMATION + " Synchronized " + Emojibet.USER + " %0" + length + "d / %0" + length + "d | %.2f%%"; Message message = channel.sendMessage(Emojibet.INFORMATION + " Synchronizing names: " + totalUsers + " users").complete(); long usersCompleted = 0; for (DiscordBot shard : shards) { for (User user : shard.getJda().getUsers()) { CUser.getCachedId(user.getIdLong(), user.getName()); usersCompleted++; if (usersCompleted % updateInterval == 0L) { try { message.editMessage(String.format(messageFormat, usersCompleted, totalUsers, (double) usersCompleted / (double) totalUsers * 100D)).complete(false); } catch (RateLimitedException ignored) { } } } } if (usersCompleted % updateInterval > 0) { message.editMessage(String.format(messageFormat, usersCompleted, totalUsers, (double) usersCompleted / (double) totalUsers * 100D)).complete(); } }
List<Guild> guilds = shard.getJda().getGuilds(); int numGuilds = guilds.size(); int users = shard.getJda().getUsers().size(); int channels = shard.getJda().getTextChannels().size(); int voiceChannels = shard.getJda().getVoiceChannels().size();
List<Guild> guilds = shard.getJda().getGuilds(); int numGuilds = guilds.size(); int users = shard.getJda().getUsers().size(); int channels = shard.getJda().getTextChannels().size(); int voiceChannels = shard.getJda().getVoiceChannels().size();
currentShardId == shard.getShardInfo().getShardId() ? "\uD83D\uDCCC" : "" ), String.format("%s users\n%s guilds\n%s ms ping", NumberUtil.formatNicely(shard.getUsers().size()), NumberUtil.formatNicely(shard.getGuilds().size()), NumberUtil.formatNicely(shard.getPing())