From cf7558d03023bed0bf8fb52e24857c089e343c27 Mon Sep 17 00:00:00 2001 From: Conatum Date: Wed, 8 Mar 2023 11:57:33 +0200 Subject: [PATCH] rewrite(babel): Cross-load babel config group. --- src/babel/cog.py | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/babel/cog.py b/src/babel/cog.py index e6d13f1d..3b2b9992 100644 --- a/src/babel/cog.py +++ b/src/babel/cog.py @@ -35,8 +35,8 @@ class LocaleSettings(SettingGroup): """ setting_id = 'user_locale' - display_name = _p('userset:locale', 'language') - desc = _p('userset:locale|desc', "Your preferred language for interacting with me.") + _display_name = _p('userset:locale', 'language') + _desc = _p('userset:locale|desc', "Your preferred language for interacting with me.") _model = CoreData.User _column = CoreData.User.locale.name @@ -71,9 +71,9 @@ class LocaleSettings(SettingGroup): """ setting_id = 'force_locale' - display_name = _p('guildset:force_locale', 'force_language') - desc = _p('guildset:force_locale|desc', - "Whether to force all members to use the configured guild language when interacting with me.") + _display_name = _p('guildset:force_locale', 'force_language') + _desc = _p('guildset:force_locale|desc', + "Whether to force all members to use the configured guild language when interacting with me.") long_desc = _p( 'guildset:force_locale|long_desc', "When enabled, commands in this guild will always use the configured guild language, " @@ -111,8 +111,8 @@ class LocaleSettings(SettingGroup): """ setting_id = 'guild_locale' - display_name = _p('guildset:locale', 'language') - desc = _p('guildset:locale|desc', "Your preferred language for interacting with me.") + _display_name = _p('guildset:locale', 'language') + _desc = _p('guildset:locale|desc', "Your preferred language for interacting with me.") _model = CoreData.Guild _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.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): pass @@ -199,8 +202,8 @@ class BabelCog(LionCog): return True @cmds.hybrid_command( - name=LocaleSettings.UserLocale.display_name, - description=LocaleSettings.UserLocale.desc + name=LocaleSettings.UserLocale._display_name, + description=LocaleSettings.UserLocale._desc ) 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) await setting.interactive_set(new_data, ctx.interaction) - @cmds.hybrid_command( - name=_p('cmd:configure_language', "configure_language"), + @LionCog.placeholder_group + @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', "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.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 @cmds.check(low_management) async def cmd_configure_language(