Source code for msa.core.loader

import importlib


# builtin modules to load
builtin_module_names = ["signals", "scripting", "conversation", "intents"]


[docs]def load_builtin_modules(): """Loads builtin modules.""" plugin_modules = [] for module_name in builtin_module_names: module = importlib.import_module("msa.builtins.{}".format(module_name)) module.module_name = module_name plugin_modules.append(module) return plugin_modules
[docs]def load_plugin_modules(plugin_module_names): """Loads plugin modules as specified in the configuration file. Parameters ---------- plugin_module_names : List[str] Plugin module names to load. Module names should be fully qualified modules existing in `msa.plugins`. Returns ------- """ plugin_modules = [] for module_name in plugin_module_names: module = importlib.import_module("msa.plugins.{}".format(module_name)) module.module_name = module_name plugin_modules.append(module) return plugin_modules