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 @@ -178,15 +178,18 @@ def _from_data(self, data: InteractionPayload):
178
178
179
179
# TODO: there's a potential data loss here
180
180
if self .guild_id :
181
- guild = self .guild or Object (id = self .guild_id )
181
+ guild = self .guild or self . _state . _get_guild ( self . guild_id ) or Object (id = self .guild_id )
182
182
try :
183
183
member = data ["member" ] # type: ignore
184
184
except KeyError :
185
185
pass
186
186
else :
187
- cache_flag = self ._state .member_cache_flags .interaction
188
- self .user = guild ._get_and_update_member (member , int (member ["user" ]["id" ]), cache_flag )
189
187
self ._permissions = int (member .get ("permissions" , 0 ))
188
+ if not isinstance (guild , Object ):
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
+ else :
192
+ self .user = Member (state = self ._state , data = member , guild = guild )
190
193
else :
191
194
try :
192
195
self .user = User (state = self ._state , data = data ["user" ])
You can’t perform that action at this time.
0 commit comments