mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
[Utils] Improved pagify (#439)
This commit is contained in:
parent
e11b0a7fbb
commit
bf490d0db1
@ -31,11 +31,16 @@ def italics(text):
|
||||
return "*{}*".format(text)
|
||||
|
||||
|
||||
def pagify(text, delims=[], escape=True, shorten_by=8, page_length=2000):
|
||||
def pagify(text, delims=["\n"], *, escape=True, shorten_by=8,
|
||||
page_length=2000):
|
||||
"""DOES NOT RESPECT MARKDOWN BOXES OR INLINE CODE"""
|
||||
in_text = text
|
||||
if escape:
|
||||
num_mentions = text.count("@here") + text.count("@everyone")
|
||||
shorten_by += num_mentions
|
||||
page_length -= shorten_by
|
||||
while len(in_text) > page_length:
|
||||
closest_delim = max([in_text.rfind(d, 0, page_length - shorten_by)
|
||||
closest_delim = max([in_text.rfind(d, 0, page_length)
|
||||
for d in delims])
|
||||
closest_delim = closest_delim if closest_delim != -1 else page_length
|
||||
if escape:
|
||||
@ -58,6 +63,7 @@ def strikethrough(text):
|
||||
def underline(text):
|
||||
return "__{}__".format(text)
|
||||
|
||||
|
||||
def escape(text, *, mass_mentions=False, formatting=False):
|
||||
if mass_mentions:
|
||||
text = text.replace("@everyone", "@\u200beveryone")
|
||||
@ -69,5 +75,6 @@ def escape(text, *, mass_mentions=False, formatting=False):
|
||||
.replace("~", "\\~"))
|
||||
return text
|
||||
|
||||
|
||||
def escape_mass_mentions(text):
|
||||
return escape(text, mass_mentions=True)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user