rewrite(babel): Cross-load babel config group.

This commit is contained in:
2023-03-08 11:57:33 +02:00
parent beafe3f2fe
commit cf7558d030

View File

@@ -35,8 +35,8 @@ class LocaleSettings(SettingGroup):
""" """
setting_id = 'user_locale' setting_id = 'user_locale'
display_name = _p('userset:locale', 'language') _display_name = _p('userset:locale', 'language')
desc = _p('userset:locale|desc', "Your preferred language for interacting with me.") _desc = _p('userset:locale|desc', "Your preferred language for interacting with me.")
_model = CoreData.User _model = CoreData.User
_column = CoreData.User.locale.name _column = CoreData.User.locale.name
@@ -71,9 +71,9 @@ class LocaleSettings(SettingGroup):
""" """
setting_id = 'force_locale' setting_id = 'force_locale'
display_name = _p('guildset:force_locale', 'force_language') _display_name = _p('guildset:force_locale', 'force_language')
desc = _p('guildset:force_locale|desc', _desc = _p('guildset:force_locale|desc',
"Whether to force all members to use the configured guild language when interacting with me.") "Whether to force all members to use the configured guild language when interacting with me.")
long_desc = _p( long_desc = _p(
'guildset:force_locale|long_desc', 'guildset:force_locale|long_desc',
"When enabled, commands in this guild will always use the configured guild language, " "When enabled, commands in this guild will always use the configured guild language, "
@@ -111,8 +111,8 @@ class LocaleSettings(SettingGroup):
""" """
setting_id = 'guild_locale' setting_id = 'guild_locale'
display_name = _p('guildset:locale', 'language') _display_name = _p('guildset:locale', 'language')
desc = _p('guildset:locale|desc', "Your preferred language for interacting with me.") _desc = _p('guildset:locale|desc', "Your preferred language for interacting with me.")
_model = CoreData.Guild _model = CoreData.Guild
_column = CoreData.Guild.locale.name _column = CoreData.Guild.locale.name
@@ -155,6 +155,9 @@ class BabelCog(LionCog):
self.bot.core.guild_config.register_model_setting(LocaleSettings.GuildLocale) self.bot.core.guild_config.register_model_setting(LocaleSettings.GuildLocale)
self.bot.core.user_config.register_model_setting(LocaleSettings.UserLocale) self.bot.core.user_config.register_model_setting(LocaleSettings.UserLocale)
configcog = self.bot.get_cog('ConfigCog')
self.crossload_group(self.configure_group, configcog.configure_group)
async def cog_unload(self): async def cog_unload(self):
pass pass
@@ -199,8 +202,8 @@ class BabelCog(LionCog):
return True return True
@cmds.hybrid_command( @cmds.hybrid_command(
name=LocaleSettings.UserLocale.display_name, name=LocaleSettings.UserLocale._display_name,
description=LocaleSettings.UserLocale.desc description=LocaleSettings.UserLocale._desc
) )
async def cmd_language(self, ctx: LionContext, language: str): async def cmd_language(self, ctx: LionContext, language: str):
""" """
@@ -214,8 +217,14 @@ class BabelCog(LionCog):
new_data = await setting._parse_string(ctx.author.id, language) new_data = await setting._parse_string(ctx.author.id, language)
await setting.interactive_set(new_data, ctx.interaction) await setting.interactive_set(new_data, ctx.interaction)
@cmds.hybrid_command( @LionCog.placeholder_group
name=_p('cmd:configure_language', "configure_language"), @cmds.hybrid_group('configure', with_app_command=False)
async def configure_group(self, ctx: LionContext):
# Placeholder group method, not used.
pass
@configure_group.command(
name=_p('cmd:configure_language', "language"),
description=_p('cmd:configure_language|desc', description=_p('cmd:configure_language|desc',
"Configure the default language I will use in this server.") "Configure the default language I will use in this server.")
) )
@@ -225,6 +234,14 @@ class BabelCog(LionCog):
appcmds.Choice(name=LocaleSettings.ForceLocale._outputs[False], value=0), appcmds.Choice(name=LocaleSettings.ForceLocale._outputs[False], value=0),
] ]
) )
@appcmds.describe(
language=LocaleSettings.GuildLocale._desc,
force_language=LocaleSettings.ForceLocale._desc
)
@appcmds.rename(
language=LocaleSettings.GuildLocale._display_name,
force_language=LocaleSettings.ForceLocale._display_name
)
@appcmds.guild_only() # Can be removed when attached as a subcommand @appcmds.guild_only() # Can be removed when attached as a subcommand
@cmds.check(low_management) @cmds.check(low_management)
async def cmd_configure_language( async def cmd_configure_language(