fix: 대화 히스토리에서 embed 내용 유실 - clarify 맥락 보존
- _get_channel_history에서 embed title/description/fields 추출 - 봇의 clarify 질문이 히스토리에 포함되어 맥락 유지 - planner 프롬프트 강화: 불필요한 태스크 분할 방지
This commit is contained in:
@@ -68,7 +68,26 @@ async def _get_channel_history(channel: discord.TextChannel, limit: int = 10) ->
|
||||
messages = []
|
||||
async for msg in channel.history(limit=limit + 1):
|
||||
role = "assistant" if msg.author.bot else "user"
|
||||
messages.append(f"[{role}] {msg.content[:300]}")
|
||||
|
||||
# 텍스트 내용
|
||||
content = msg.content[:300] if msg.content else ""
|
||||
|
||||
# Embed 내용도 포함 (봇의 clarify 질문 등)
|
||||
if msg.embeds:
|
||||
embed_parts = []
|
||||
for embed in msg.embeds:
|
||||
if embed.title:
|
||||
embed_parts.append(embed.title)
|
||||
if embed.description:
|
||||
embed_parts.append(embed.description[:200])
|
||||
for field in embed.fields:
|
||||
embed_parts.append(f"{field.name}: {field.value[:100]}")
|
||||
if embed_parts:
|
||||
embed_text = " | ".join(embed_parts)
|
||||
content = f"{content} {embed_text}".strip() if content else embed_text
|
||||
|
||||
if content:
|
||||
messages.append(f"[{role}] {content}")
|
||||
|
||||
messages.reverse()
|
||||
if messages:
|
||||
|
||||
Reference in New Issue
Block a user