mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
[V3 Help] add tagline support (#1705)
* [V3 Help] add tagline support * Make the tagline resettable * Actually, let's allow the user full control over the footer
This commit is contained in:
parent
4f270f3aab
commit
5ec25959df
@ -51,6 +51,7 @@ class RedBase(BotBase):
|
|||||||
embeds=True,
|
embeds=True,
|
||||||
help__page_char_limit=1000,
|
help__page_char_limit=1000,
|
||||||
help__max_pages_in_guild=2,
|
help__max_pages_in_guild=2,
|
||||||
|
help__tagline="",
|
||||||
)
|
)
|
||||||
|
|
||||||
self.db.register_guild(
|
self.db.register_guild(
|
||||||
|
|||||||
@ -876,6 +876,30 @@ class Core:
|
|||||||
await ctx.bot.db.help.max_pages_in_guild.set(pages)
|
await ctx.bot.db.help.max_pages_in_guild.set(pages)
|
||||||
await ctx.send(_("Done. The page limit has been set to {}.").format(pages))
|
await ctx.send(_("Done. The page limit has been set to {}.").format(pages))
|
||||||
|
|
||||||
|
@helpset.command(name="tagline")
|
||||||
|
async def helpset_tagline(self, ctx: commands.Context, *, tagline: str = None):
|
||||||
|
"""
|
||||||
|
Set the tagline to be used.
|
||||||
|
|
||||||
|
This setting only applies to embedded help. If no tagline is
|
||||||
|
specified, the default will be used instead.
|
||||||
|
"""
|
||||||
|
if tagline is None:
|
||||||
|
await ctx.bot.db.help.tagline.set("")
|
||||||
|
return await ctx.send(_("The tagline has been reset."))
|
||||||
|
|
||||||
|
if len(tagline) > 2048:
|
||||||
|
await ctx.send(
|
||||||
|
_(
|
||||||
|
"Your tagline is too long! Please shorten it to be "
|
||||||
|
"no more than 2048 characters long."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
|
await ctx.bot.db.help.tagline.set(tagline)
|
||||||
|
await ctx.send(_("The tagline has been set to {}.").format(tagline[:1900]))
|
||||||
|
|
||||||
@commands.command()
|
@commands.command()
|
||||||
@checks.is_owner()
|
@checks.is_owner()
|
||||||
async def listlocales(self, ctx: commands.Context):
|
async def listlocales(self, ctx: commands.Context):
|
||||||
|
|||||||
@ -123,11 +123,7 @@ class Help(formatter.HelpFormatter):
|
|||||||
"""Formats command for output.
|
"""Formats command for output.
|
||||||
|
|
||||||
Returns a dict used to build embed"""
|
Returns a dict used to build embed"""
|
||||||
emb = {
|
emb = {"embed": {"title": "", "description": ""}, "footer": {"text": ""}, "fields": []}
|
||||||
"embed": {"title": "", "description": ""},
|
|
||||||
"footer": {"text": self.get_ending_note()},
|
|
||||||
"fields": [],
|
|
||||||
}
|
|
||||||
|
|
||||||
if self.is_cog():
|
if self.is_cog():
|
||||||
translator = getattr(self.command, "__translator__", lambda s: s)
|
translator = getattr(self.command, "__translator__", lambda s: s)
|
||||||
@ -146,6 +142,13 @@ class Help(formatter.HelpFormatter):
|
|||||||
# <description> portion
|
# <description> portion
|
||||||
emb["embed"]["description"] = description[:2046]
|
emb["embed"]["description"] = description[:2046]
|
||||||
|
|
||||||
|
tagline = await self.context.bot.db.help.tagline()
|
||||||
|
if tagline:
|
||||||
|
footer = tagline
|
||||||
|
else:
|
||||||
|
footer = self.get_ending_note()
|
||||||
|
emb["footer"]["text"] = footer
|
||||||
|
|
||||||
if isinstance(self.command, discord.ext.commands.core.Command):
|
if isinstance(self.command, discord.ext.commands.core.Command):
|
||||||
# <signature portion>
|
# <signature portion>
|
||||||
emb["embed"]["title"] = emb["embed"]["description"]
|
emb["embed"]["title"] = emb["embed"]["description"]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user