X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fcore%2FCore.java;h=c59c9d5592d4ecaadaba6647ce5867f0df055591;hb=103a6342cdf0c852da2a9aef1d2129e51782d9ad;hp=58afb8e150e8d92841923165bd0c0ae8bcbb9cb5;hpb=217a38af85ffb6cc6ddc5276b8915da12d15631c;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/core/Core.java b/src/main/java/net/pterodactylus/xdcc/core/Core.java index 58afb8e..c59c9d5 100644 --- a/src/main/java/net/pterodactylus/xdcc/core/Core.java +++ b/src/main/java/net/pterodactylus/xdcc/core/Core.java @@ -32,6 +32,7 @@ import net.pterodactylus.irc.event.ChannelMessageReceived; import net.pterodactylus.irc.event.ConnectionEstablished; import net.pterodactylus.irc.util.MessageCleaner; import net.pterodactylus.irc.util.RandomNickname; +import net.pterodactylus.xdcc.core.event.BotAdded; import net.pterodactylus.xdcc.core.event.CoreStarted; import net.pterodactylus.xdcc.data.Bot; import net.pterodactylus.xdcc.data.Channel; @@ -179,20 +180,23 @@ public class Core extends AbstractIdleService { return; } - Bot bot; - synchronized (networkBots) { - if (!networkBots.contains(network.get(), channelMessageReceived.source().nick().get())) { - networkBots.put(network.get(), channelMessageReceived.source().nick().get(), new Bot(network.get()).name(channelMessageReceived.source().nick().get())); - } - bot = networkBots.get(network.get(), channelMessageReceived.source().nick().get()); - } - /* parse pack information. */ Optional pack = parsePack(message); if (!pack.isPresent()) { return; } + Bot bot; + synchronized (networkBots) { + if (!networkBots.contains(network.get(), channelMessageReceived.source().nick().get())) { + bot = new Bot(network.get()).name(channelMessageReceived.source().nick().get()); + networkBots.put(network.get(), channelMessageReceived.source().nick().get(), bot); + eventBus.post(new BotAdded(bot)); + } else { + bot = networkBots.get(network.get(), channelMessageReceived.source().nick().get()); + } + } + /* add pack. */ bot.addPack(pack.get()); logger.fine(String.format("Bot %s now has %d packs.", bot, bot.packs().size()));