fix: revert BotInitializer to original (Guice compat)

This commit is contained in:
loki5512344 2026-08-06 20:09:52 +02:00
parent df92b6cb68
commit c5bac60ebf
Signed by: boba
GPG key ID: 253067914055423B

View file

@ -23,44 +23,45 @@ import org.slf4j.LoggerFactory;
public class BotInitializer {
private static final Logger logger = LoggerFactory.getLogger(BotInitializer.class);
public record BotServices(
private final BotConfig config;
private final PrefixCommandRegistrar registrar;
private final ListenerAggregator listenerAggregator;
private final MuteScheduler muteScheduler;
private final MemberCounterListener memberCounterListener;
private final HealthHttpServer healthHttpServer;
private final ShutdownManager shutdownManager;
private final LavalinkManager lavalinkManager;
private final RadioManager radioManager;
private final QueueRepository queueRepository;
@Inject
public BotInitializer(
BotConfig config,
PrefixCommandRegistrar registrar,
ListenerAggregator listenerAggregator,
MuteScheduler muteScheduler,
MemberCounterListener memberCounterListener) {}
public record Infrastructure(
MemberCounterListener memberCounterListener,
HealthHttpServer healthHttpServer,
ShutdownManager shutdownManager,
LavalinkManager lavalinkManager,
RadioManager radioManager,
QueueRepository queueRepository) {}
private final BotServices botServices;
private final Infrastructure infra;
@Inject
public BotInitializer(final BotServices botServices, final Infrastructure infra) {
this.botServices = botServices;
this.infra = infra;
QueueRepository queueRepository) {
this.config = config;
this.registrar = registrar;
this.listenerAggregator = listenerAggregator;
this.muteScheduler = muteScheduler;
this.memberCounterListener = memberCounterListener;
this.healthHttpServer = healthHttpServer;
this.shutdownManager = shutdownManager;
this.lavalinkManager = lavalinkManager;
this.radioManager = radioManager;
this.queueRepository = queueRepository;
}
public BotCluster start() {
var config = botServices.config();
var registrar = botServices.registrar();
var listenerAggregator = botServices.listenerAggregator();
var muteScheduler = botServices.muteScheduler();
var memberCounterListener = botServices.memberCounterListener();
var healthHttpServer = infra.healthHttpServer();
var shutdownManager = infra.shutdownManager();
var lavalinkManager = infra.lavalinkManager();
var radioManager = infra.radioManager();
var queueRepository = infra.queueRepository();
LoggerDecorator.startup(logger, "Инициализация main бота...");
registrar.registerAll();
JDA mainJda = buildMainJDA(config, listenerAggregator, lavalinkManager);
JDA mainJda = buildMainJDA();
muteScheduler.restorePending(mainJda);
mainJda.getGuilds().forEach(g -> memberCounterListener.startScheduler(g));
healthHttpServer.start();
@ -73,13 +74,13 @@ public class BotInitializer {
}
});
JDA musicJda = createMusicJDA(config, queueRepository, lavalinkManager);
JDA musicJda = createMusicJDA();
JDA radioJda = null;
if (config.getRadioToken() != null && !config.getRadioToken().isBlank()) {
sleep(3000);
LavalinkManager radioLavalink =
LavalinkManagerFactory.create(config, queueRepository, config.getRadioToken());
radioJda = createRadioJDA(config, radioLavalink, radioManager);
radioJda = createRadioJDA(radioLavalink);
if (radioJda != null) {
radioManager.setRadioJda(radioJda);
radioManager.setLavalinkManager(radioLavalink);
@ -91,10 +92,7 @@ public class BotInitializer {
return cluster;
}
private JDA buildMainJDA(
final BotConfig config,
final ListenerAggregator listenerAggregator,
final LavalinkManager lavalinkManager) {
private JDA buildMainJDA() {
var builder =
JdaFactory.createBuilder(
config.getMainToken(),
@ -107,10 +105,7 @@ public class BotInitializer {
return buildWithLavalink(builder, lavalinkManager);
}
private JDA createMusicJDA(
final BotConfig config,
final QueueRepository queueRepository,
final LavalinkManager lavalinkManager) {
private JDA createMusicJDA() {
if (config.getMusicToken() == null || config.getMusicToken().isBlank()) {
return null;
}
@ -128,10 +123,7 @@ public class BotInitializer {
return buildWithLavalink(builder, ml);
}
private JDA createRadioJDA(
final BotConfig config,
final LavalinkManager radioLavalink,
final RadioManager radioManager) {
private JDA createRadioJDA(final LavalinkManager radioLavalink) {
if (config.getRadioToken() == null || config.getRadioToken().isBlank()) {
return null;
}