Fix a bunch of config issues
This commit is contained in:
@@ -48,11 +48,11 @@ def config_save():
|
||||
|
||||
|
||||
def config_get(key: str, guild: Optional[int] = None):
|
||||
guild = str(guild)
|
||||
if guild in config:
|
||||
guild = config[guild]
|
||||
if key in guild:
|
||||
return guild[key]
|
||||
if guild is None:
|
||||
return config[key]
|
||||
guild = _get_guild_config(guild)
|
||||
if key in guild:
|
||||
return guild[key]
|
||||
return config[key]
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ def config_set(key: str, value, guild: Optional[int] = None) -> str:
|
||||
return _config_set_in_scope(config, key, value, type(config[key]))
|
||||
else:
|
||||
if config_meta[key][0]:
|
||||
return _config_set_in_scope(config[str(guild)], key, value, type(config[key]))
|
||||
return _config_set_in_scope(_get_guild_config(guild), key, value, type(config[key]))
|
||||
else:
|
||||
return 'This config can only be changed globally by the bot owner!'
|
||||
|
||||
@@ -70,6 +70,12 @@ def config_get_descriptions() -> iter:
|
||||
return map(lambda entry: (entry[0], entry[1]), config_meta.items())
|
||||
|
||||
|
||||
def _get_guild_config(guild: int) -> dict:
|
||||
config.setdefault('guilds', {})
|
||||
config['guilds'].setdefault(str(guild), {})
|
||||
return config['guilds'][str(guild)]
|
||||
|
||||
|
||||
def _config_set_in_scope(scope: dict, key: str, value, cfg_type: type) -> str:
|
||||
success = False
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user