mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
fix: guard reply_to_text against DeletedReferencedMessage
Use getattr() for resolved.content since discord.py's DeletedReferencedMessage lacks a content attribute. Adds test for the deleted-message edge case.
This commit is contained in:
parent
7636baf49c
commit
8ea9ceb44c
2 changed files with 14 additions and 1 deletions
|
|
@ -2480,7 +2480,7 @@ class DiscordAdapter(BasePlatformAdapter):
|
|||
if message.reference:
|
||||
reply_to_id = str(message.reference.message_id)
|
||||
if message.reference.resolved:
|
||||
reply_to_text = message.reference.resolved.content or None
|
||||
reply_to_text = getattr(message.reference.resolved, "content", None) or None
|
||||
|
||||
event = MessageEvent(
|
||||
text=event_text,
|
||||
|
|
|
|||
|
|
@ -369,3 +369,16 @@ class TestReplyToText:
|
|||
event = reply_text_adapter.handle_message.await_args.args[0]
|
||||
assert event.reply_to_message_id == "555"
|
||||
assert event.reply_to_text is None
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_reference_with_deleted_message(self, reply_text_adapter):
|
||||
"""Deleted messages lack .content — getattr guard should return None."""
|
||||
resolved_deleted = SimpleNamespace(id=555)
|
||||
ref = SimpleNamespace(message_id=555, resolved=resolved_deleted)
|
||||
message = _make_message(reference=ref)
|
||||
|
||||
await reply_text_adapter._handle_message(message)
|
||||
|
||||
event = reply_text_adapter.handle_message.await_args.args[0]
|
||||
assert event.reply_to_message_id == "555"
|
||||
assert event.reply_to_text is None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue