@@ -409,30 +409,27 @@ def _dispatch_event(self, event: str, data: dict) -> None:
409
409
id = getattr (obj , "id" , None )
410
410
411
411
if id is None :
412
- if model .__name__ .startswith ("Guild" ):
413
- if model .__name__ == "GuildScheduledEventUser" :
414
- id = model .guild_scheduled_event_id
415
- elif model .__name__ in [
416
- "Invite" ,
417
- "GuildBan" ,
418
- "ChannelPins" ,
419
- "MessageReaction" ,
420
- "ReactionRemove" ,
421
- # Extend this for everything that should not be cached
422
- ]:
423
- id = None
424
- else :
425
- model_name = model .__name__ [5 :]
426
- if _data := getattr (obj , model_name , None ):
427
- id = (
428
- getattr (_data , "id" )
429
- if not isinstance (_data , dict )
430
- else Snowflake (_data ["id" ])
431
- )
432
- elif hasattr (obj , f"{ model_name } _id" ):
433
- id = getattr (obj , f"{ model_name } _id" )
434
- else :
435
- id = None
412
+ if model .__name__ == "GuildScheduledEventUser" :
413
+ id = model .guild_scheduled_event_id
414
+ elif model .__name__ in [
415
+ "Invite" ,
416
+ "GuildBan" ,
417
+ "ChannelPins" ,
418
+ "MessageReaction" ,
419
+ "MessageReactionRemove" ,
420
+ # Extend this for everything that should not be cached
421
+ ]:
422
+ id = None
423
+ elif model .__name__ .startswith ("Guild" ):
424
+ model_name = model .__name__ [5 :]
425
+ if _data := getattr (obj , model_name , None ):
426
+ id = (
427
+ getattr (_data , "id" )
428
+ if not isinstance (_data , dict )
429
+ else Snowflake (_data ["id" ])
430
+ )
431
+ elif hasattr (obj , f"{ model_name } _id" ):
432
+ id = getattr (obj , f"{ model_name } _id" , None )
436
433
437
434
def __modify_guild_cache ():
438
435
if not (
@@ -450,18 +447,15 @@ def __modify_guild_cache():
450
447
return
451
448
_obj = getattr (guild , f"{ model_name .lower ()} s" , None )
452
449
if _obj is not None and isinstance (_obj , list ):
453
- _data = getattr (obj , model_name , None )
454
-
455
450
if "_create" in name or "_add" in name :
456
451
_obj .append (obj )
457
-
458
452
for index , __obj in enumerate (_obj ):
459
453
if __obj .id == id :
460
454
if "_remove" in name or "_delete" in name :
461
455
_obj .remove (__obj )
462
456
463
457
elif "_update" in name and hasattr (obj , "id" ):
464
- _obj [index ] = _data
458
+ _obj [index ] = obj
465
459
break
466
460
setattr (guild , f"{ model_name } s" , _obj )
467
461
self ._http .cache [Guild ].add (guild )
@@ -474,15 +468,14 @@ def __modify_guild_cache():
474
468
475
469
elif "_update" in name and hasattr (obj , "id" ):
476
470
old_obj = self ._http .cache [model ].get (id )
477
-
478
471
if old_obj :
479
472
before = model (** old_obj ._json )
480
473
old_obj .update (** obj ._json )
481
-
482
- _cache .add (old_obj , id )
483
474
else :
484
475
before = None
485
476
old_obj = obj
477
+
478
+ _cache .add (old_obj , id )
486
479
__modify_guild_cache ()
487
480
488
481
self ._dispatch .dispatch (
0 commit comments