mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-05 18:58:53 -05:00
Add header, hyperlink and subtext utilities (#6102)
Co-authored-by: Kowlin <10947836+Kowlin@users.noreply.github.com>
This commit is contained in:
parent
907a3f7561
commit
05cf9b7f39
@ -5,7 +5,7 @@ import itertools
|
||||
import math
|
||||
import textwrap
|
||||
from io import BytesIO
|
||||
from typing import Iterator, List, Optional, Sequence, SupportsInt, Union
|
||||
from typing import Iterator, List, Literal, Optional, Sequence, SupportsInt, Union
|
||||
|
||||
import discord
|
||||
from babel.lists import format_list as babel_list
|
||||
@ -21,11 +21,14 @@ __all__ = (
|
||||
"question",
|
||||
"bold",
|
||||
"box",
|
||||
"header",
|
||||
"hyperlink",
|
||||
"inline",
|
||||
"italics",
|
||||
"spoiler",
|
||||
"pagify",
|
||||
"strikethrough",
|
||||
"subtext",
|
||||
"underline",
|
||||
"quote",
|
||||
"escape",
|
||||
@ -39,6 +42,69 @@ __all__ = (
|
||||
_ = Translator("UtilsChatFormatting", __file__)
|
||||
|
||||
|
||||
def hyperlink(text: str, url: str) -> str:
|
||||
"""Create hyperlink markdown with text and a URL.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
text : str
|
||||
The text which will contain the link.
|
||||
url : str
|
||||
The URL used for the hyperlink.
|
||||
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The new message.
|
||||
|
||||
"""
|
||||
return f"[{text}]({url})"
|
||||
|
||||
|
||||
def header(text: str, size: Literal["small", "medium", "large"]) -> str:
|
||||
"""Formats a header.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
text : str
|
||||
The text for the header.
|
||||
url : Literal['small', 'medium', 'large']
|
||||
The size of the header ('small', 'medium' or 'large')
|
||||
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The new message.
|
||||
|
||||
"""
|
||||
if size == "small":
|
||||
multiplier = 3
|
||||
elif size == "medium":
|
||||
multiplier = 2
|
||||
elif size == "large":
|
||||
multiplier = 1
|
||||
else:
|
||||
raise ValueError(f"Invalid size '{size}'")
|
||||
return "#" * multiplier + " " + text
|
||||
|
||||
|
||||
def subtext(text: str) -> str:
|
||||
"""Formats subtext from the given text.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
text : str
|
||||
The text to format as subtext.
|
||||
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The new message.
|
||||
|
||||
"""
|
||||
return "-# " + text
|
||||
|
||||
|
||||
def error(text: str) -> str:
|
||||
"""Get text prefixed with an error emoji.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user