Reload config after change #334

This commit is contained in:
2023-08-15 22:16:44 +02:00
parent e549341196
commit 113b188a40
6 changed files with 51 additions and 18 deletions

View File

@@ -5,8 +5,7 @@ from cpl_core.logging import LoggerABC
from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum
from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings
from bot_data.abc.technician_config_repository_abc import TechnicianConfigRepositoryABC
from bot_data.model.technician_config import TechnicianConfig
from bot_core.service.config_service import ConfigService
class ConfigExtension(ApplicationExtensionABC):
@@ -19,6 +18,5 @@ class ConfigExtension(ApplicationExtensionABC):
return
logger: LoggerABC = services.get_service(LoggerABC)
logger.debug(__name__, "Config extension started")
technician_config_repo: TechnicianConfigRepositoryABC = services.get_service(TechnicianConfigRepositoryABC)
technician_config = technician_config_repo.get_technician_config()
config.add_configuration(TechnicianConfig, technician_config)
config: ConfigService = services.get_service(ConfigService)
config.reload_technician_config()

View File

@@ -1,10 +1,9 @@
from cpl_core.configuration import ConfigurationABC
from cpl_core.logging import LoggerABC
from cpl_discord.container import Guild
from cpl_discord.events import OnReadyABC
from cpl_discord.service import DiscordBotServiceABC
from bot_data.abc.server_config_repository_abc import ServerConfigRepositoryABC
from bot_core.service.config_service import ConfigService
from bot_data.abc.server_repository_abc import ServerRepositoryABC
@@ -15,7 +14,7 @@ class ConfigOnReadyEvent(OnReadyABC):
logger: LoggerABC,
bot: DiscordBotServiceABC,
servers: ServerRepositoryABC,
server_config_repo: ServerConfigRepositoryABC,
config_service: ConfigService,
):
OnReadyABC.__init__(self)
@@ -23,13 +22,8 @@ class ConfigOnReadyEvent(OnReadyABC):
self._logger = logger
self._bot = bot
self._servers = servers
self._server_config_repo = server_config_repo
self._config_service = config_service
async def on_ready(self):
for guild in self._bot.guilds:
guild: Guild = guild
server = self._servers.get_server_by_discord_id(guild.id)
server_config = self._server_config_repo.get_server_config_by_server(server.id)
self._config.add_configuration(
f"{type(server_config).__name__}_{server_config.server.discord_id}", server_config
)
self._config_service.reload_server_config(self._servers.get_server_by_discord_id(guild.id))