paginate embed notifications
This commit is contained in:
parent
a0afb916e7
commit
9cd672e382
1 changed files with 27 additions and 12 deletions
|
@ -75,29 +75,44 @@ async def handle_notification(db_updates, ctx, message, keyword, user_id, use_em
|
||||||
content = message.content or "(*Keyword in embed*)"
|
content = message.content or "(*Keyword in embed*)"
|
||||||
|
|
||||||
if use_embed:
|
if use_embed:
|
||||||
log.debug("Sending embed")
|
paginator = Paginator(prefix="", suffix="", max_size=4000)
|
||||||
embed = Embed(description=content + "\n\n" + footer)
|
|
||||||
embed.set_author(
|
|
||||||
name=f"{message.author.display_name} ({message.author})",
|
|
||||||
icon_url=message.author.display_avatar,
|
|
||||||
)
|
|
||||||
|
|
||||||
try:
|
|
||||||
await member.send(header, embeds=[embed] + message.embeds[:9])
|
|
||||||
except Forbidden:
|
|
||||||
log.warning("Cannot send messages to this user")
|
|
||||||
else:
|
else:
|
||||||
log.debug("Sending plain message")
|
|
||||||
paginator = Paginator(prefix="", suffix="")
|
paginator = Paginator(prefix="", suffix="")
|
||||||
paginator.add_line(header)
|
paginator.add_line(header)
|
||||||
paginator.add_line()
|
paginator.add_line()
|
||||||
for line in indent(content, "> ", lambda line: True).strip().split("\n"):
|
|
||||||
|
content = indent(content, "> ", lambda line: True)
|
||||||
|
|
||||||
|
for line in content.strip().split("\n"):
|
||||||
if len(line) < 1990:
|
if len(line) < 1990:
|
||||||
paginator.add_line(line)
|
paginator.add_line(line)
|
||||||
else:
|
else:
|
||||||
paginator.add_line(line[:1975] + " (... Line too long)")
|
paginator.add_line(line[:1975] + " (... Line too long)")
|
||||||
|
|
||||||
paginator.add_line()
|
paginator.add_line()
|
||||||
paginator.add_line(footer)
|
paginator.add_line(footer)
|
||||||
|
|
||||||
|
if use_embed:
|
||||||
|
log.debug("Sending embed")
|
||||||
|
embeds = []
|
||||||
|
embed = Embed(description=paginator.pages[0])
|
||||||
|
embed.set_author(
|
||||||
|
name=f"{message.author.display_name} ({message.author})",
|
||||||
|
icon_url=message.author.display_avatar,
|
||||||
|
)
|
||||||
|
embeds.append(embed)
|
||||||
|
|
||||||
|
for page in paginator.pages[1:]:
|
||||||
|
embeds.append(description=page)
|
||||||
|
|
||||||
|
embeds.extend(message.embeds)
|
||||||
|
|
||||||
|
try:
|
||||||
|
await member.send(header, embeds=embeds[:10])
|
||||||
|
except Forbidden:
|
||||||
|
log.warning("Cannot send messages to this user")
|
||||||
|
else:
|
||||||
|
log.debug("Sending plain message")
|
||||||
try:
|
try:
|
||||||
for page in paginator.pages[:-1]:
|
for page in paginator.pages[:-1]:
|
||||||
await member.send(page)
|
await member.send(page)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue