Configuration API
The Configuration API module provides configuration reading functionality, allowing plugins to safely access global configurations and plugin configurations.
Import Method
python
from src.plugin_system.apis import config_api
# or
from src.plugin_system import config_apiMain Functions
1. Access Global Configuration
python
def get_global_config(key: str, default: Any = None) -> Any:Args:
key: Namespace-style configuration key name, using nested access, such as "section.subsection.key", case-sensitivedefault: Default value returned when configuration doesn't exist
Returns:
Any: Configuration value or default value
Example:
Get bot nickname
python
bot_name = config_api.get_global_config("bot.nickname", "MaiBot")2. Get Plugin Configuration
python
def get_plugin_config(plugin_config: dict, key: str, default: Any = None) -> Any:Args:
plugin_config: Plugin configuration dictionarykey: Configuration key name, supports nested access such as "section.subsection.key", case-sensitivedefault: Default value returned when configuration doesn't exist
Returns:
Any: Configuration value or default value
Notes
- Read-Only Access: Configuration API only provides reading functionality, plugins cannot modify global configurations
- Error Handling: All functions have error handling, logs errors and returns default value on failure
- Security: Plugin access to configurations through this API is safe and isolated
- Performance: Frequently accessed configurations recommended to be obtained and cached during plugin initialization