Files
variet-agent/handlers/renderer.py

26 lines
703 B
Python

"""Discord 렌더러 — Embed 렌더링 유틸리티.
Discord Embed의 제한(4096자)을 고려한 안전한 전송 함수.
"""
import discord
EMBED_DESC_LIMIT = 4096
async def safe_send_embed(channel, embed: discord.Embed):
"""Embed가 Discord 제한을 초과하면 나눠서 전송."""
desc = embed.description or ""
if len(desc) <= EMBED_DESC_LIMIT:
await channel.send(embed=embed)
return
chunks = [desc[i:i + 4000] for i in range(0, len(desc), 4000)]
embed.description = chunks[0]
await channel.send(embed=embed)
for chunk in chunks[1:]:
cont = discord.Embed(description=chunk, color=embed.color)
await channel.send(embed=cont)