File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -180,15 +180,18 @@ def _from_data(self, data: InteractionPayload):
180
180
181
181
# TODO: there's a potential data loss here
182
182
if self .guild_id :
183
- guild = self .guild or Object (id = self .guild_id )
183
+ guild = self .guild or self . _state . _get_guild ( self . guild_id ) or Object (id = self .guild_id )
184
184
try :
185
185
member = data ["member" ] # type: ignore
186
186
except KeyError :
187
187
pass
188
188
else :
189
- cache_flag = self ._state .member_cache_flags .interaction
190
- self .user = guild ._get_and_update_member (member , int (member ["user" ]["id" ]), cache_flag )
191
189
self ._permissions = int (member .get ("permissions" , 0 ))
190
+ if not isinstance (guild , Object ):
191
+ cache_flag = self ._state .member_cache_flags .interaction
192
+ self .user = guild ._get_and_update_member (member , int (member ["user" ]["id" ]), cache_flag )
193
+ else :
194
+ self .user = Member (state = self ._state , data = member , guild = guild )
192
195
else :
193
196
try :
194
197
self .user = User (state = self ._state , data = data ["user" ])
You can’t perform that action at this time.
0 commit comments