fix: revert BotInitializer to original (Guice compat)
This commit is contained in:
parent
df92b6cb68
commit
c5bac60ebf
1 changed files with 31 additions and 39 deletions
|
|
@ -23,44 +23,45 @@ import org.slf4j.LoggerFactory;
|
||||||
public class BotInitializer {
|
public class BotInitializer {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(BotInitializer.class);
|
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,
|
BotConfig config,
|
||||||
PrefixCommandRegistrar registrar,
|
PrefixCommandRegistrar registrar,
|
||||||
ListenerAggregator listenerAggregator,
|
ListenerAggregator listenerAggregator,
|
||||||
MuteScheduler muteScheduler,
|
MuteScheduler muteScheduler,
|
||||||
MemberCounterListener memberCounterListener) {}
|
MemberCounterListener memberCounterListener,
|
||||||
|
|
||||||
public record Infrastructure(
|
|
||||||
HealthHttpServer healthHttpServer,
|
HealthHttpServer healthHttpServer,
|
||||||
ShutdownManager shutdownManager,
|
ShutdownManager shutdownManager,
|
||||||
LavalinkManager lavalinkManager,
|
LavalinkManager lavalinkManager,
|
||||||
RadioManager radioManager,
|
RadioManager radioManager,
|
||||||
QueueRepository queueRepository) {}
|
QueueRepository queueRepository) {
|
||||||
|
this.config = config;
|
||||||
private final BotServices botServices;
|
this.registrar = registrar;
|
||||||
private final Infrastructure infra;
|
this.listenerAggregator = listenerAggregator;
|
||||||
|
this.muteScheduler = muteScheduler;
|
||||||
@Inject
|
this.memberCounterListener = memberCounterListener;
|
||||||
public BotInitializer(final BotServices botServices, final Infrastructure infra) {
|
this.healthHttpServer = healthHttpServer;
|
||||||
this.botServices = botServices;
|
this.shutdownManager = shutdownManager;
|
||||||
this.infra = infra;
|
this.lavalinkManager = lavalinkManager;
|
||||||
|
this.radioManager = radioManager;
|
||||||
|
this.queueRepository = queueRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BotCluster start() {
|
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 бота...");
|
LoggerDecorator.startup(logger, "Инициализация main бота...");
|
||||||
registrar.registerAll();
|
registrar.registerAll();
|
||||||
JDA mainJda = buildMainJDA(config, listenerAggregator, lavalinkManager);
|
JDA mainJda = buildMainJDA();
|
||||||
muteScheduler.restorePending(mainJda);
|
muteScheduler.restorePending(mainJda);
|
||||||
mainJda.getGuilds().forEach(g -> memberCounterListener.startScheduler(g));
|
mainJda.getGuilds().forEach(g -> memberCounterListener.startScheduler(g));
|
||||||
healthHttpServer.start();
|
healthHttpServer.start();
|
||||||
|
|
@ -73,13 +74,13 @@ public class BotInitializer {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
JDA musicJda = createMusicJDA(config, queueRepository, lavalinkManager);
|
JDA musicJda = createMusicJDA();
|
||||||
JDA radioJda = null;
|
JDA radioJda = null;
|
||||||
if (config.getRadioToken() != null && !config.getRadioToken().isBlank()) {
|
if (config.getRadioToken() != null && !config.getRadioToken().isBlank()) {
|
||||||
sleep(3000);
|
sleep(3000);
|
||||||
LavalinkManager radioLavalink =
|
LavalinkManager radioLavalink =
|
||||||
LavalinkManagerFactory.create(config, queueRepository, config.getRadioToken());
|
LavalinkManagerFactory.create(config, queueRepository, config.getRadioToken());
|
||||||
radioJda = createRadioJDA(config, radioLavalink, radioManager);
|
radioJda = createRadioJDA(radioLavalink);
|
||||||
if (radioJda != null) {
|
if (radioJda != null) {
|
||||||
radioManager.setRadioJda(radioJda);
|
radioManager.setRadioJda(radioJda);
|
||||||
radioManager.setLavalinkManager(radioLavalink);
|
radioManager.setLavalinkManager(radioLavalink);
|
||||||
|
|
@ -91,10 +92,7 @@ public class BotInitializer {
|
||||||
return cluster;
|
return cluster;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JDA buildMainJDA(
|
private JDA buildMainJDA() {
|
||||||
final BotConfig config,
|
|
||||||
final ListenerAggregator listenerAggregator,
|
|
||||||
final LavalinkManager lavalinkManager) {
|
|
||||||
var builder =
|
var builder =
|
||||||
JdaFactory.createBuilder(
|
JdaFactory.createBuilder(
|
||||||
config.getMainToken(),
|
config.getMainToken(),
|
||||||
|
|
@ -107,10 +105,7 @@ public class BotInitializer {
|
||||||
return buildWithLavalink(builder, lavalinkManager);
|
return buildWithLavalink(builder, lavalinkManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
private JDA createMusicJDA(
|
private JDA createMusicJDA() {
|
||||||
final BotConfig config,
|
|
||||||
final QueueRepository queueRepository,
|
|
||||||
final LavalinkManager lavalinkManager) {
|
|
||||||
if (config.getMusicToken() == null || config.getMusicToken().isBlank()) {
|
if (config.getMusicToken() == null || config.getMusicToken().isBlank()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -128,10 +123,7 @@ public class BotInitializer {
|
||||||
return buildWithLavalink(builder, ml);
|
return buildWithLavalink(builder, ml);
|
||||||
}
|
}
|
||||||
|
|
||||||
private JDA createRadioJDA(
|
private JDA createRadioJDA(final LavalinkManager radioLavalink) {
|
||||||
final BotConfig config,
|
|
||||||
final LavalinkManager radioLavalink,
|
|
||||||
final RadioManager radioManager) {
|
|
||||||
if (config.getRadioToken() == null || config.getRadioToken().isBlank()) {
|
if (config.getRadioToken() == null || config.getRadioToken().isBlank()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue