diff --git a/interactions/api/gateway/client.py b/interactions/api/gateway/client.py index 51a3ffbe9..182bd91b5 100644 --- a/interactions/api/gateway/client.py +++ b/interactions/api/gateway/client.py @@ -12,7 +12,6 @@ new_event_loop, sleep, ) -from datetime import datetime from sys import platform, version_info from time import perf_counter from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type, Union @@ -438,14 +437,6 @@ def __modify_guild_cache(): old_obj = self._http.cache[model].get(id) if old_obj: - for key, value in old_obj._json.items(): - if hasattr(value, "_json"): - old_obj._json[key] = value._json - elif isinstance(value, Snowflake): - old_obj._json[key] = int(value) - elif isinstance(value, datetime): - old_obj._json[key] = value.isoformat() - before = model(**old_obj._json) old_obj.update(**obj._json) else: diff --git a/interactions/api/models/attrs_utils.py b/interactions/api/models/attrs_utils.py index 2c34c49b8..de6b72896 100644 --- a/interactions/api/models/attrs_utils.py +++ b/interactions/api/models/attrs_utils.py @@ -50,24 +50,9 @@ def __init__(self, kwargs_dict: dict = None, /, **other_kwargs): if value is not None and attrib.metadata.get("add_client"): if isinstance(value, list): for item in value: - if isinstance(item, dict): - item["_client"] = client - elif isinstance(item, ClientSerializerMixin): - item._client = client - + item["_client"] = client else: - if isinstance(value, dict): - value["_client"] = client - elif isinstance(value, ClientSerializerMixin): - value._client = client - - # make sure json is recursively handled - if isinstance(value, list): - self._json[attrib_name] = [ - i._json if hasattr(i, "_json") else i for i in value - ] - elif hasattr(value, "_json"): - self._json[attrib_name] = value._json # type: ignore + value["_client"] = client passed_kwargs[attrib_name] = value @@ -110,11 +95,10 @@ def update(self, kwargs_dict: dict = None, /, **other_kwargs): if value is None: continue - if converter := attribs[name].converter: - value = converter(value) - self._json[name] = value - setattr(self, name, value) + setattr( + self, name, converter(value) if (converter := attribs[name].converter) else value + ) @attrs.define(eq=False, init=False, on_setattr=attrs.setters.NO_OP)