refactor: move voice, counter, and role to feature/ domains

This commit is contained in:
loki5512344 2026-05-11 17:08:17 +02:00
parent 27dc060bf4
commit 9f6e19e5c6
19 changed files with 42 additions and 34 deletions

View file

@ -1,9 +1,8 @@
package creator.loki.core; package creator.loki.core;
import com.google.inject.Inject; import com.google.inject.Inject;
import creator.loki.command.impl.setup.CounterSetupCommand;
import creator.loki.command.impl.setup.LogSetupCommand; import creator.loki.command.impl.setup.LogSetupCommand;
import creator.loki.command.impl.setup.VoiceSetupCommand;
import creator.loki.command.impl.stats.leaderboard.LeaderboardButtonListener; import creator.loki.command.impl.stats.leaderboard.LeaderboardButtonListener;
import creator.loki.config.BotConfig; import creator.loki.config.BotConfig;
import creator.loki.core.EventDispatcher; import creator.loki.core.EventDispatcher;
@ -11,23 +10,28 @@ import creator.loki.core.registry.CommandRegistry;
import creator.loki.core.registry.PrefixCommandRegistrar; import creator.loki.core.registry.PrefixCommandRegistrar;
import creator.loki.core.registry.SlashCommandRegistrar; import creator.loki.core.registry.SlashCommandRegistrar;
import creator.loki.core.registry.SlashCommandRegistry; import creator.loki.core.registry.SlashCommandRegistry;
import creator.loki.counter.CounterManager; import creator.loki.feature.counter.CounterManager;
import creator.loki.data.JsonDataStore; import creator.loki.data.JsonDataStore;
import creator.loki.database.ConfigRepository; import creator.loki.database.ConfigRepository;
import creator.loki.database.Database; import creator.loki.database.Database;
import creator.loki.feature.counter.CounterSetupCommand;
import creator.loki.feature.counter.MemberCounterListener;
import creator.loki.feature.level.LevelUpNotifier; import creator.loki.feature.level.LevelUpNotifier;
import creator.loki.feature.level.service.LevelService; import creator.loki.feature.level.service.LevelService;
import creator.loki.feature.voice.VoiceButtonHandler;
import creator.loki.feature.voice.VoiceChannelListener;
import creator.loki.feature.voice.VoiceChannelManager;
import creator.loki.feature.voice.VoiceSetupCommand;
import creator.loki.feature.level.VoiceTracker; import creator.loki.feature.level.VoiceTracker;
import creator.loki.level.LevelSystem; import creator.loki.level.LevelSystem;
import creator.loki.listener.*; import creator.loki.listener.*;
import creator.loki.listener.interaction.SlashCommandListener; import creator.loki.listener.interaction.SlashCommandListener;
import creator.loki.listener.voice.VoiceChannelListener;
import creator.loki.metrics.MetricsCollector; import creator.loki.metrics.MetricsCollector;
import creator.loki.profile.ProfileService; import creator.loki.profile.ProfileService;
import creator.loki.role.CustomRoleManager; import creator.loki.feature.role.CustomRoleManager;
import creator.loki.core.security.CooldownManager; import creator.loki.core.security.CooldownManager;
import creator.loki.core.security.RateLimiter; import creator.loki.core.security.RateLimiter;
import creator.loki.voice.VoiceChannelManager; import creator.loki.feature.voice.VoiceChannelManager;
import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.OnlineStatus; import net.dv8tion.jda.api.OnlineStatus;

View file

@ -22,7 +22,7 @@ import creator.loki.command.impl.entertainment.interaction.positive.HugCommand;
import creator.loki.command.impl.entertainment.interaction.positive.KissCommand; import creator.loki.command.impl.entertainment.interaction.positive.KissCommand;
import creator.loki.command.impl.entertainment.interaction.positive.PatCommand; import creator.loki.command.impl.entertainment.interaction.positive.PatCommand;
import creator.loki.command.impl.moderation.*; import creator.loki.command.impl.moderation.*;
import creator.loki.command.impl.roles.*; import creator.loki.feature.role.*;
import creator.loki.command.impl.stats.*; import creator.loki.command.impl.stats.*;
import creator.loki.command.impl.utility.*; import creator.loki.command.impl.utility.*;
import creator.loki.command.impl.utility.info.*; import creator.loki.command.impl.utility.info.*;
@ -30,10 +30,14 @@ import creator.loki.command.impl.utility.system.*;
import creator.loki.config.BotConfig; import creator.loki.config.BotConfig;
import creator.loki.data.JsonDataStore; import creator.loki.data.JsonDataStore;
import creator.loki.feature.level.service.LevelService; import creator.loki.feature.level.service.LevelService;
import creator.loki.feature.role.CreateRoleCommand;
import creator.loki.feature.role.DeleteRoleCommand;
import creator.loki.feature.role.EditRoleCommand;
import creator.loki.feature.role.MyRolesCommand;
import creator.loki.level.LevelSystem; import creator.loki.level.LevelSystem;
import creator.loki.metrics.MetricsCollector; import creator.loki.metrics.MetricsCollector;
import creator.loki.profile.ProfileService; import creator.loki.profile.ProfileService;
import creator.loki.role.CustomRoleManager; import creator.loki.feature.role.CustomRoleManager;
import creator.loki.core.security.CooldownManager; import creator.loki.core.security.CooldownManager;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

View file

@ -10,7 +10,7 @@ import creator.loki.core.registry.CommandRegistry;
import creator.loki.core.registry.SlashCommandRegistry; import creator.loki.core.registry.SlashCommandRegistry;
import creator.loki.core.security.CooldownManager; import creator.loki.core.security.CooldownManager;
import creator.loki.core.security.RateLimiter; import creator.loki.core.security.RateLimiter;
import creator.loki.counter.CounterManager; import creator.loki.feature.counter.CounterManager;
import creator.loki.data.JsonDataStore; import creator.loki.data.JsonDataStore;
import creator.loki.database.ConfigRepository; import creator.loki.database.ConfigRepository;
import creator.loki.database.Database; import creator.loki.database.Database;
@ -27,8 +27,8 @@ import creator.loki.metrics.MetricsCollector;
import creator.loki.profile.ProfileService; import creator.loki.profile.ProfileService;
import creator.loki.repository.UserStatsRepository; import creator.loki.repository.UserStatsRepository;
import creator.loki.repository.impl.JsonUserStatsRepository; import creator.loki.repository.impl.JsonUserStatsRepository;
import creator.loki.role.CustomRoleManager; import creator.loki.feature.role.CustomRoleManager;
import creator.loki.voice.VoiceChannelManager; import creator.loki.feature.voice.VoiceChannelManager;
/** /**
* Главный модуль Guice для конфигурации Dependency Injection * Главный модуль Guice для конфигурации Dependency Injection

View file

@ -1,4 +1,4 @@
package creator.loki.counter; package creator.loki.feature.counter;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import creator.loki.data.JsonDataStore; import creator.loki.data.JsonDataStore;

View file

@ -1,4 +1,4 @@
package creator.loki.command.impl.setup; package creator.loki.feature.counter;
import creator.loki.database.ConfigRepository; import creator.loki.database.ConfigRepository;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;

View file

@ -1,4 +1,4 @@
package creator.loki.counter; package creator.loki.feature.counter;
import java.time.LocalDate; import java.time.LocalDate;

View file

@ -1,6 +1,6 @@
package creator.loki.listener; package creator.loki.feature.counter;
import creator.loki.counter.CounterManager; import creator.loki.feature.counter.CounterManager;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent; import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent;
import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent; import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent;

View file

@ -1,9 +1,9 @@
package creator.loki.command.impl.roles; package creator.loki.feature.role;
import creator.loki.command.Command; import creator.loki.command.Command;
import creator.loki.command.CommandContext; import creator.loki.command.CommandContext;
import creator.loki.embed.EmbedTemplates; import creator.loki.embed.EmbedTemplates;
import creator.loki.role.CustomRoleManager; import creator.loki.feature.role.CustomRoleManager;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.Role;

View file

@ -1,4 +1,4 @@
package creator.loki.role; package creator.loki.feature.role;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import creator.loki.data.JsonDataStore; import creator.loki.data.JsonDataStore;

View file

@ -1,9 +1,9 @@
package creator.loki.command.impl.roles; package creator.loki.feature.role;
import creator.loki.command.Command; import creator.loki.command.Command;
import creator.loki.command.CommandContext; import creator.loki.command.CommandContext;
import creator.loki.embed.EmbedTemplates; import creator.loki.embed.EmbedTemplates;
import creator.loki.role.CustomRoleManager; import creator.loki.feature.role.CustomRoleManager;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.Role;

View file

@ -1,9 +1,9 @@
package creator.loki.command.impl.roles; package creator.loki.feature.role;
import creator.loki.command.Command; import creator.loki.command.Command;
import creator.loki.command.CommandContext; import creator.loki.command.CommandContext;
import creator.loki.embed.EmbedTemplates; import creator.loki.embed.EmbedTemplates;
import creator.loki.role.CustomRoleManager; import creator.loki.feature.role.CustomRoleManager;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.Role;

View file

@ -1,10 +1,10 @@
package creator.loki.command.impl.roles; package creator.loki.feature.role;
import creator.loki.command.Command; import creator.loki.command.Command;
import creator.loki.command.CommandContext; import creator.loki.command.CommandContext;
import creator.loki.embed.EmbedFactory; import creator.loki.embed.EmbedFactory;
import creator.loki.embed.EmbedTemplates; import creator.loki.embed.EmbedTemplates;
import creator.loki.role.CustomRoleManager; import creator.loki.feature.role.CustomRoleManager;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.Role;

View file

@ -1,4 +1,4 @@
package creator.loki.command.impl.roles; package creator.loki.feature.role;
import creator.loki.command.CommandContext; import creator.loki.command.CommandContext;
import creator.loki.embed.EmbedTemplates; import creator.loki.embed.EmbedTemplates;

View file

@ -1,6 +1,6 @@
package creator.loki.listener; package creator.loki.feature.voice;
import creator.loki.voice.VoiceChannelManager; import creator.loki.feature.voice.VoiceChannelManager;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;

View file

@ -1,4 +1,4 @@
package creator.loki.voice; package creator.loki.feature.voice;
/** /**
* Данные личного голосового канала * Данные личного голосового канала

View file

@ -1,6 +1,6 @@
package creator.loki.listener.voice; package creator.loki.feature.voice;
import creator.loki.voice.VoiceChannelManager; import creator.loki.feature.voice.VoiceChannelManager;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel; import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;

View file

@ -1,4 +1,4 @@
package creator.loki.voice; package creator.loki.feature.voice;
import creator.loki.database.ConfigRepository; import creator.loki.database.ConfigRepository;
import creator.loki.data.JsonDataStore; import creator.loki.data.JsonDataStore;

View file

@ -1,4 +1,4 @@
package creator.loki.voice; package creator.loki.feature.voice;
/** /**
* Пресет настроек голосового канала * Пресет настроек голосового канала

View file

@ -1,4 +1,4 @@
package creator.loki.command.impl.setup; package creator.loki.feature.voice;
import creator.loki.database.ConfigRepository; import creator.loki.database.ConfigRepository;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;