Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions interactions/api/models/message.py
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,9 @@ class EmbedImageStruct(DictSerializerMixin):

def __setattr__(self, key, value) -> None:
super().__setattr__(key, value)
if key != "_json" and (key not in self._json or value != self._json.get(key)):
if key not in {"_json", "_extras"} and (
key not in self._json or value != self._json.get(key)
):
if value is not None and value is not MISSING:
self._json.update({key: value})

Expand All @@ -308,7 +310,9 @@ class EmbedProvider(DictSerializerMixin):

def __setattr__(self, key, value) -> None:
super().__setattr__(key, value)
if key != "_json" and (key not in self._json or value != self._json.get(key)):
if key not in {"_json", "_extras"} and (
key not in self._json or value != self._json.get(key)
):
if value is not None and value is not MISSING:
self._json.update({key: value})

Expand Down Expand Up @@ -342,7 +346,9 @@ class EmbedAuthor(DictSerializerMixin):

def __setattr__(self, key, value) -> None:
super().__setattr__(key, value)
if key != "_json" and (key not in self._json or value != self._json.get(key)):
if key not in {"_json", "_extras"} and (
key not in self._json or value != self._json.get(key)
):
if value is not None and value is not MISSING:
self._json.update({key: value})

Expand Down Expand Up @@ -374,7 +380,9 @@ class EmbedFooter(DictSerializerMixin):

def __setattr__(self, key, value) -> None:
super().__setattr__(key, value)
if key != "_json" and (key not in self._json or value != self._json.get(key)):
if key not in {"_json", "_extras"} and (
key not in self._json or value != self._json.get(key)
):
if value is not None and value is not MISSING:
self._json.update({key: value})

Expand Down Expand Up @@ -408,7 +416,9 @@ class EmbedField(DictSerializerMixin):

def __setattr__(self, key, value) -> None:
super().__setattr__(key, value)
if key != "_json" and (key not in self._json or value != self._json.get(key)):
if key not in {"_json", "_extras"} and (
key not in self._json or value != self._json.get(key)
):
if value is not None and value is not MISSING:
self._json.update({key: value})

Expand Down Expand Up @@ -466,7 +476,8 @@ class Embed(DictSerializerMixin):

def __setattr__(self, key, value) -> None:
super().__setattr__(key, value)
if key != "_json" and (

if key not in {"_json", "_extras"} and (
key not in self._json
or (
value != self._json.get(key)
Expand Down
4 changes: 3 additions & 1 deletion interactions/client/models/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ class ComponentMixin(DictSerializerMixin):

def __setattr__(self, key, value) -> None:
super().__setattr__(key, value)
if key != "_json" and (key not in self._json or value != self._json.get(key)):
if key not in {"_json", "_extras"} and (
key not in self._json or value != self._json.get(key)
):
if value is not None and value is not MISSING:
try:
value = [val._json for val in value] if isinstance(value, list) else value._json
Expand Down