[Help] Allow prefix formatting in taglines (#4972)

Co-authored-by: Michael Oliveira <34169552+Flame442@users.noreply.github.com>
This commit is contained in:
Kreusada Ramicario 2024-01-02 04:25:02 +00:00 committed by GitHub
parent d322d91a18
commit 47a267b38b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 6 deletions

View File

@ -1683,8 +1683,11 @@ Set the tagline to be used.
The maximum tagline length is 2048 characters.
This setting only applies to embedded help. If no tagline is specified, the default will be used instead.
You can use ``[p]`` in your tagline, which will be replaced by the bot's prefix.
**Examples:**
- ``[p]helpset tagline Thanks for using the bot!``
- ``[p]helpset tagline Use [p]invite to add me to your server.``
- ``[p]helpset tagline`` - Resets the tagline to the default.
**Arguments:**

View File

@ -308,6 +308,12 @@ class RedHelpFormatter(HelpFormatterABC):
command2=f"{ctx.clean_prefix}help <category>",
)
@staticmethod
def format_tagline(ctx: Context, tagline: str):
if not tagline:
return
return tagline.replace("[p]", ctx.clean_prefix)
@staticmethod
def get_command_signature(ctx: Context, command: commands.Command) -> str:
parent = command.parent
@ -345,7 +351,7 @@ class RedHelpFormatter(HelpFormatterABC):
description = command.description or ""
tagline = (help_settings.tagline) or self.get_default_tagline(ctx)
tagline = self.format_tagline(ctx, help_settings.tagline) or self.get_default_tagline(ctx)
signature = _("Syntax: {command_signature}").format(
command_signature=self.get_command_signature(ctx, command)
)
@ -569,7 +575,7 @@ class RedHelpFormatter(HelpFormatterABC):
return
description = obj.format_help_for_context(ctx)
tagline = (help_settings.tagline) or self.get_default_tagline(ctx)
tagline = self.format_tagline(ctx, help_settings.tagline) or self.get_default_tagline(ctx)
if await self.embed_requested(ctx):
emb = {"embed": {"title": "", "description": ""}, "footer": {"text": ""}, "fields": []}
@ -642,7 +648,7 @@ class RedHelpFormatter(HelpFormatterABC):
return
description = ctx.bot.description or ""
tagline = (help_settings.tagline) or self.get_default_tagline(ctx)
tagline = self.format_tagline(ctx, help_settings.tagline) or self.get_default_tagline(ctx)
if await self.embed_requested(ctx):
emb = {"embed": {"title": "", "description": ""}, "footer": {"text": ""}, "fields": []}
@ -763,7 +769,9 @@ class RedHelpFormatter(HelpFormatterABC):
name=_("{ctx.me.display_name} Help Menu").format(ctx=ctx),
icon_url=ctx.me.display_avatar,
)
tagline = help_settings.tagline or self.get_default_tagline(ctx)
tagline = self.format_tagline(
ctx, help_settings.tagline
) or self.get_default_tagline(ctx)
ret.set_footer(text=tagline)
await ctx.send(embed=ret)
else:
@ -776,7 +784,9 @@ class RedHelpFormatter(HelpFormatterABC):
name=_("{ctx.me.display_name} Help Menu").format(ctx=ctx),
icon_url=ctx.me.display_avatar,
)
tagline = help_settings.tagline or self.get_default_tagline(ctx)
tagline = self.format_tagline(
ctx, help_settings.tagline
) or self.get_default_tagline(ctx)
ret.set_footer(text=tagline)
await ctx.send(embed=ret)
else:
@ -795,7 +805,9 @@ class RedHelpFormatter(HelpFormatterABC):
name=_("{ctx.me.display_name} Help Menu").format(ctx=ctx),
icon_url=ctx.me.display_avatar,
)
tagline = help_settings.tagline or self.get_default_tagline(ctx)
tagline = self.format_tagline(ctx, help_settings.tagline) or self.get_default_tagline(
ctx
)
ret.set_footer(text=tagline)
await ctx.send(embed=ret)
else:

View File

@ -4535,8 +4535,11 @@ class Core(commands.commands._RuleDropper, commands.Cog, CoreLogic):
The maximum tagline length is 2048 characters.
This setting only applies to embedded help. If no tagline is specified, the default will be used instead.
You can use `[\u200bp]` in your tagline, which will be replaced by the bot's prefix.
**Examples:**
- `[p]helpset tagline Thanks for using the bot!`
- `[p]helpset tagline Use [\u200bp]invite to add me to your server.`
- `[p]helpset tagline` - Resets the tagline to the default.
**Arguments:**