config initialization

This commit is contained in:
Sebastian Mäki 2024-02-20 11:45:01 +02:00
parent cb7400fd3f
commit 6ab971f16e
1 changed files with 31 additions and 3 deletions

View File

@ -1,21 +1,26 @@
import requests import requests
import discord
import json
from discord.ext import commands, tasks
from ovos_plugin_manager.phal import PHALPlugin from ovos_plugin_manager.phal import PHALPlugin
from ovos_config.config import LocalConf from ovos_config.config import LocalConf
from ovos_config.config import update_mycroft_config
from ovos_config.locations import get_webcache_location from ovos_config.locations import get_webcache_location
from ovos_bus_client.util import get_mycroft_bus from ovos_bus_client.util import get_mycroft_bus
from ovos_utils.messagebus import Message from ovos_utils.messagebus import Message
from ovos_utils.log import LOG from ovos_utils.log import LOG
from ovos_utils import classproperty from ovos_utils import classproperty
from ovos_utils.process_utils import RuntimeRequirements from ovos_utils.process_utils import RuntimeRequirements
from json_database import JsonConfigXDG
class DiscordBotPlugin(PHALPlugin): class DiscordBotPlugin(PHALPlugin):
def __init__(self, bus=None, config=None): def __init__(self, bus=None, config=None):
super().__init__(bus, "ovos-PHAL-plugin-discord-bot", config) super().__init__(bus, "ovos-PHAL-plugin-discord-bot", config)
self.web_config = LocalConf(get_webcache_location()) #self.web_config = LocalConf(get_webcache_location())
self.bus.on("mycroft.internet.connected", self.on_reset) self.bus.on("mycroft.internet.connected", self.on_reset)
self.bus.on("recognizer_loop:utterance", self.on_utterance) self.bus.on("recognizer_loop:utterance", self.on_utterance)
self.bus.on("configuration.updated", self.init_configuration)
@classproperty @classproperty
def runtime_requirements(self): def runtime_requirements(self):
@ -35,6 +40,29 @@ class DiscordBotPlugin(PHALPlugin):
def on_speak(self, message=None): def on_speak(self, message=None):
LOG.info(f"On speak triggered: %s", message.serialize()) LOG.info(f"On speak triggered: %s", message.serialize())
def init_configuration(self, message=None):
""" Initialize instance configuration """
configuration_host = self.config.get("host", "")
configuration_api_key = self.config.get("api_key", "")
configuration_admin_id = self.config.get("admin_id", "")
config = {"host": configuration_host, "api_key": configuration_api_key, "admin_id": configuration_admin_id }
config_json = json.dumps(config)
LOG.info(f"Configuration updated: %s", config_json)
if not configuration_host:
uninitialized_settings.append("host")
if not configuration_api_key:
uninitialized_settings.append("api_key")
if not configuration_admin_id:
uninitialized_settings.append("admin_id")
if uninitialized_settings:
self.bus.emit(Message("ovos.phal.plugin.discord_bot.requires.configuration"))
message = "The following configuration settings are uninitialized: " + ", ".join(uninitialized_settings)
LOG.info(message)
else:
LOG.info("All configuration settings are initialized.")