X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fui%2Fstdin%2FCommandReader.java;h=ad6cde1fbab9abf118b83286d10d2583f78193b1;hb=9b7afa0998062127271320893951dfded32cc22a;hp=497c5fd49281302226b7556569c44e313f616a1e;hpb=aafb2f116a4a53f588e7d912f5f0443e2eae67f3;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java b/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java index 497c5fd..ad6cde1 100644 --- a/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java +++ b/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java @@ -20,8 +20,10 @@ package net.pterodactylus.xdcc.ui.stdin; import java.io.BufferedReader; import java.io.Reader; import java.io.Writer; +import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Set; import net.pterodactylus.irc.DccReceiver; import net.pterodactylus.xdcc.core.Core; @@ -29,6 +31,7 @@ import net.pterodactylus.xdcc.data.Bot; import net.pterodactylus.xdcc.data.Pack; import com.google.common.collect.Lists; +import com.google.common.collect.Sets; import com.google.common.primitives.Ints; import com.google.common.util.concurrent.AbstractExecutionThreadService; @@ -115,6 +118,21 @@ public class CommandReader extends AbstractExecutionThreadService { if ((index != null) && (index < lastResult.size())) { core.fetch(lastResult.get(index).bot(), lastResult.get(index).pack()); } + } else if (words[0].equalsIgnoreCase("stats")) { + int configuredChannelsCount = core.channels().size(); + int joinedChannelsCount = core.joinedChannels().size(); + int extraChannelsCount = core.extraChannels().size(); + Collection bots = core.bots(); + Set packNames = Sets.newHashSet(); + int packsCount = 0; + for (Bot bot : bots) { + packsCount += bot.packs().size(); + for (Pack pack : bot) { + packNames.add(pack.name()); + } + } + + writer.write(String.format("%d channels (%d joined, %d extra), %d bots offering %d packs (%d unique).\n", configuredChannelsCount, joinedChannelsCount, extraChannelsCount, bots.size(), packsCount, packNames.size())); } lastLine = line;