fix: read event.source.{platform,user_id} not event.{platform,user_id}
MessageEvent wraps source in nested SessionSource — fields at the top level don't exist, causing resolve_peer() to always fall through to the fallback_peer. This meant every Discord user got a raw snowflake peer created instead of the mapped name.
This commit is contained in:
@@ -292,8 +292,12 @@ def _patch_session_db() -> None:
|
||||
|
||||
def _pre_gateway_dispatch(event: Any, gateway: Any, session_store: Any, **kw) -> dict | None:
|
||||
"""Resolve peer identity and store it for Honcho session init."""
|
||||
platform = getattr(event, "platform", "unknown")
|
||||
user_id = getattr(event, "user_id", "unknown")
|
||||
# NOTE: MessageEvent wraps source in nested SessionSource object.
|
||||
# event.source.{platform, user_id} are the correct paths — NOT
|
||||
# event.{platform, user_id} which don't exist on MessageEvent.
|
||||
source = event.source if hasattr(event, "source") else event
|
||||
platform = getattr(source, "platform", "unknown")
|
||||
user_id = getattr(source, "user_id", "unknown")
|
||||
resolved = resolve_peer(platform, user_id)
|
||||
|
||||
if resolved:
|
||||
|
||||
Reference in New Issue
Block a user