@@ -372,7 +372,11 @@ def __init__(self, state: ConnectionState, data: MessageInteractionPayload, guil
372
372
except KeyError :
373
373
self .member : Optional [Member ] = None
374
374
else :
375
- self .member : Optional [Member ] = guild .get_member (self .user .id ) or Member (data = member , state = state , guild = guild )
375
+ member ['user' ] = data ['user' ]
376
+ if guild : # can be None when cache is not filled yet
377
+ self .member : Optional [Member ] = guild .get_member (self .user .id ) or Member (data = member , state = state , guild = guild )
378
+ else :
379
+ self .member : Optional [Member ] = None
376
380
377
381
def __repr__ (self ) -> str :
378
382
return f'<MessageInteraction command={ self .name } user={ self .user } interaction_id={ self .id } >'
@@ -668,13 +672,13 @@ def __init__(self, *, state: ConnectionState, channel, data: MessagePayload):
668
672
self .components : List [ActionRow ] = [ActionRow .from_dict (d ) for d in data .get ('components' , [])]
669
673
self .application = data .get ('application' ) # TODO: make this a class
670
674
self .activity = data .get ('activity' ) # TODO: make this a class
675
+ self .channel : Messageable = channel
671
676
interaction = data .get ('interaction' )
672
677
self .interaction : Optional [MessageInteraction ] = MessageInteraction (
673
678
state = state ,
674
679
data = interaction ,
675
680
guild = self .guild
676
681
) if interaction else None
677
- self .channel : Messageable = channel
678
682
self ._edited_timestamp : datetime = utils .parse_time (data ['edited_timestamp' ])
679
683
self .type : MessageType = try_enum (MessageType , data ['type' ])
680
684
self .pinned : bool = data ['pinned' ]
0 commit comments