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)
|
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"""
|
"""DOES NOT RESPECT MARKDOWN BOXES OR INLINE CODE"""
|
||||||
in_text = text
|
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:
|
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])
|
for d in delims])
|
||||||
closest_delim = closest_delim if closest_delim != -1 else page_length
|
closest_delim = closest_delim if closest_delim != -1 else page_length
|
||||||
if escape:
|
if escape:
|
||||||
@ -58,6 +63,7 @@ def strikethrough(text):
|
|||||||
def underline(text):
|
def underline(text):
|
||||||
return "__{}__".format(text)
|
return "__{}__".format(text)
|
||||||
|
|
||||||
|
|
||||||
def escape(text, *, mass_mentions=False, formatting=False):
|
def escape(text, *, mass_mentions=False, formatting=False):
|
||||||
if mass_mentions:
|
if mass_mentions:
|
||||||
text = text.replace("@everyone", "@\u200beveryone")
|
text = text.replace("@everyone", "@\u200beveryone")
|
||||||
@ -69,5 +75,6 @@ def escape(text, *, mass_mentions=False, formatting=False):
|
|||||||
.replace("~", "\\~"))
|
.replace("~", "\\~"))
|
||||||
return text
|
return text
|
||||||
|
|
||||||
|
|
||||||
def escape_mass_mentions(text):
|
def escape_mass_mentions(text):
|
||||||
return escape(text, mass_mentions=True)
|
return escape(text, mass_mentions=True)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user