diff --git a/src/main/java/net/Broken/BotListener.java b/src/main/java/net/Broken/BotListener.java index c3f496d..68832f6 100644 --- a/src/main/java/net/Broken/BotListener.java +++ b/src/main/java/net/Broken/BotListener.java @@ -122,8 +122,15 @@ public class BotListener extends ListenerAdapter { @Override public void onGuildVoiceJoin(GuildVoiceJoinEvent event) { super.onGuildVoiceJoin(event); - if(!event.getMember().getUser().isBot()) - new UserStatsUtils.VoicePresenceCounter(event.getMember()).start(); + if(!event.getMember().getUser().isBot()){ + UserStatsUtils userStatsUtils = UserStatsUtils.getINSTANCE(); + if(!userStatsUtils.runningCounters.containsKey(event.getMember())){ + UserStatsUtils.VoicePresenceCounter temp = new UserStatsUtils.VoicePresenceCounter(event.getMember()); + temp.start(); + userStatsUtils.runningCounters.put(event.getMember(), temp); + + } + } } @Override @@ -131,7 +138,7 @@ public class BotListener extends ListenerAdapter { super.onGuildVoiceLeave(event); if(event.getGuild().getAudioManager().isConnected()) { - logger.debug("User disconnected from voice channel."); + logger.trace("User disconnected from voice channel."); if(event.getGuild().getAudioManager().getConnectedChannel().getMembers().size() == 1){ logger.debug("I'm alone, close audio connection."); diff --git a/src/main/java/net/Broken/Tools/UserManager/Stats/UserStatsUtils.java b/src/main/java/net/Broken/Tools/UserManager/Stats/UserStatsUtils.java index 20dcfba..4b30031 100644 --- a/src/main/java/net/Broken/Tools/UserManager/Stats/UserStatsUtils.java +++ b/src/main/java/net/Broken/Tools/UserManager/Stats/UserStatsUtils.java @@ -18,6 +18,7 @@ import org.springframework.security.crypto.password.PasswordEncoder; import java.util.ArrayList; import java.util.Comparator; +import java.util.HashMap; import java.util.List; public class UserStatsUtils { @@ -34,6 +35,9 @@ public class UserStatsUtils { return INSTANCE; } + + public HashMap runningCounters = new HashMap<>(); + private UserStatsRepository userStatsRepository; private UserRepository userRepository; private PasswordEncoder passwordEncoder; @@ -194,6 +198,7 @@ public class UserStatsUtils { e.printStackTrace(); } } + UserStatsUtils.getINSTANCE().runningCounters.remove(member); } }