diff options
| author | 2022-10-27 23:29:41 +0300 | |
|---|---|---|
| committer | 2022-10-27 23:29:41 +0300 | |
| commit | 38281298a199abe44ec2143386caee6c728446aa (patch) | |
| tree | 425d556f9ea1825be1117e5a737feb26ba3e6ba9 | |
| parent | Suppress exceptions while actioning filters (diff) | |
Convert redundant filter setting group to command
| -rw-r--r-- | bot/exts/filtering/filtering.py | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/bot/exts/filtering/filtering.py b/bot/exts/filtering/filtering.py index 837cd45c1..d2b07de4e 100644 --- a/bot/exts/filtering/filtering.py +++ b/bot/exts/filtering/filtering.py @@ -459,21 +459,17 @@ class Filtering(Cog): view=DeleteConfirmationView(ctx.author, delete_list) ) - @filter.group(aliases=("settings",)) - async def setting(self, ctx: Context) -> None: - """Group for settings-related commands.""" - if not ctx.invoked_subcommand: - await ctx.send_help(ctx.command) - - @setting.command(name="describe", aliases=("explain", "manual")) - async def s_describe(self, ctx: Context, setting_name: Optional[str]) -> None: + @filter.command(aliases=("settings",)) + async def setting(self, ctx: Context, setting_name: str | None) -> None: """Show a description of the specified setting, or a list of possible settings if no name is specified.""" if not setting_name: - settings_list = list(self.loaded_settings) + settings_list = [f"» {setting_name}" for setting_name in self.loaded_settings] for filter_name, filter_settings in self.loaded_filter_settings.items(): - settings_list.extend(f"{filter_name}/{setting}" for setting in filter_settings) - embed = Embed(description="\n".join(settings_list)) + settings_list.extend(f"» {filter_name}/{setting}" for setting in filter_settings) + embed = Embed(colour=Colour.blue()) embed.set_author(name="List of setting names") + await LinePaginator.paginate(settings_list, ctx, embed, max_lines=10, empty=False) + else: # The setting is either in a SettingsEntry subclass, or a pydantic model. setting_data = self.loaded_settings.get(setting_name) @@ -488,10 +484,9 @@ class Filtering(Cog): if description is None: await ctx.send(f":x: There's no setting type named {setting_name!r}.") return - embed = Embed(description=description) + embed = Embed(colour=Colour.blue(), description=description) embed.set_author(name=f"Description of the {setting_name} setting") - embed.colour = Colour.blue() - await ctx.send(embed=embed) + await ctx.send(embed=embed) @filter.command(name="match") async def f_match(self, ctx: Context, message: Message | None, *, string: str | None) -> None: |