From 2b79405d6afbcf406beadb571a7574b211125a84 Mon Sep 17 00:00:00 2001 From: EdVraz <88881326+EdVraz@users.noreply.github.com> Date: Mon, 28 Feb 2022 10:51:26 +0100 Subject: [PATCH 1/5] fix!: fix EmbedImageStruct serialization --- interactions/api/models/message.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/interactions/api/models/message.py b/interactions/api/models/message.py index 5c0bba76a..c1652b008 100644 --- a/interactions/api/models/message.py +++ b/interactions/api/models/message.py @@ -901,3 +901,12 @@ def __init__(self, **kwargs): if self.footer: self._json.update({"footer": self.footer._json}) + + if self.video: + self._json.update({"video": self.video._json}) + + if self.image: + self._json.update({"image": self.image._json}) + + if self.thumbnail: + self._json.update({"thumbnail": self.thumbnail._json}) From bf79b5d3ebc169e3fcbeedc831f57a4138b07af9 Mon Sep 17 00:00:00 2001 From: EdVraz <88881326+EdVraz@users.noreply.github.com> Date: Mon, 28 Feb 2022 11:34:37 +0100 Subject: [PATCH 2/5] fix!: Button emoji serialization --- interactions/models/component.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interactions/models/component.py b/interactions/models/component.py index 640635707..9bafe9547 100644 --- a/interactions/models/component.py +++ b/interactions/models/component.py @@ -140,6 +140,8 @@ def __init__(self, **kwargs) -> None: self.type = ComponentType.BUTTON self.style = ButtonStyle(self.style) self._json.update({"type": self.type.value, "style": self.style.value}) + if self.emoji: + self._json.update({"emoji": self.emoji._json}) class Component(DictSerializerMixin): From a429ffe0432e8380a7e8d783a00f4f36216845f7 Mon Sep 17 00:00:00 2001 From: EdVraz <88881326+EdVraz@users.noreply.github.com> Date: Mon, 28 Feb 2022 21:56:43 +0100 Subject: [PATCH 3/5] fix!: message serialization in context --- interactions/api/http.py | 2 +- interactions/context.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/interactions/api/http.py b/interactions/api/http.py index 015f1ece2..0dcfcf58f 100644 --- a/interactions/api/http.py +++ b/interactions/api/http.py @@ -2301,7 +2301,7 @@ async def delete_interaction_response( webhook_id=int(application_id), webhook_token=token, message_id=message_id ) - async def _post_followup(self, data: dict, token: str, application_id: str) -> None: + async def _post_followup(self, data: dict, token: str, application_id: str) -> dict: """ Send a followup to an interaction. diff --git a/interactions/context.py b/interactions/context.py index 47a06afc0..821706dea 100644 --- a/interactions/context.py +++ b/interactions/context.py @@ -453,13 +453,13 @@ async def send(self, content: Optional[str] = MISSING, **kwargs) -> Message: application_id=str(self.application_id), ) self.responded = True - self.message = msg = Message(**res, _client=self.client) else: - await self.client._post_followup( + res = await self.client._post_followup( data=payload._json, token=self.token, application_id=str(self.application_id), ) + self.message = msg = Message(**res, _client=self.client) else: await self.client.create_interaction_response( token=self.token, @@ -633,13 +633,14 @@ async def send(self, content: Optional[str] = MISSING, **kwargs) -> Message: application_id=str(self.application_id), ) self.responded = True - self.message = msg = Message(**res, _client=self.client) else: - await self.client._post_followup( + res = await self.client._post_followup( data=payload._json, token=self.token, application_id=str(self.application_id), ) + self.message = msg = Message(**res, _client=self.client) + else: await self.client.create_interaction_response( token=self.token, From 7371906e01b18af4d0ee8ef87425faf86204ea67 Mon Sep 17 00:00:00 2001 From: EdVraz <88881326+EdVraz@users.noreply.github.com> Date: Tue, 1 Mar 2022 12:31:07 +0100 Subject: [PATCH 4/5] fix!: Role serialization if roles not present --- interactions/api/models/member.py | 8 +++++--- interactions/api/models/member.pyi | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/interactions/api/models/member.py b/interactions/api/models/member.py index 4ff2667a0..d03054b6a 100644 --- a/interactions/api/models/member.py +++ b/interactions/api/models/member.py @@ -72,9 +72,11 @@ def __init__(self, **kwargs): else None ) - self.roles = [ - role_id if isinstance(role_id, int) else int(role_id) for role_id in self.roles - ] + self.roles = ( + [role_id if isinstance(role_id, int) else int(role_id) for role_id in self.roles] + if self._json.get("roles") + else None + ) if not self.avatar and self.user: self.avatar = self.user.avatar diff --git a/interactions/api/models/member.pyi b/interactions/api/models/member.pyi index 2421a89e8..d4527ab0c 100644 --- a/interactions/api/models/member.pyi +++ b/interactions/api/models/member.pyi @@ -16,7 +16,7 @@ class Member(DictSerializerMixin): user: Optional[User] nick: Optional[str] avatar: Optional[str] - roles: List[Role] + roles: Union[List[Role], List[int]] joined_at: datetime premium_since: datetime deaf: bool From 8d7bd44d0cb3d27d9e5683c86b9aaa93abb4cf64 Mon Sep 17 00:00:00 2001 From: EdVraz <88881326+EdVraz@users.noreply.github.com> Date: Tue, 1 Mar 2022 20:51:44 +0100 Subject: [PATCH 5/5] Update interactions/api/models/member.pyi Co-authored-by: fl0w <41456914+goverfl0w@users.noreply.github.com> --- interactions/api/models/member.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interactions/api/models/member.pyi b/interactions/api/models/member.pyi index d4527ab0c..cbad061ab 100644 --- a/interactions/api/models/member.pyi +++ b/interactions/api/models/member.pyi @@ -16,7 +16,7 @@ class Member(DictSerializerMixin): user: Optional[User] nick: Optional[str] avatar: Optional[str] - roles: Union[List[Role], List[int]] + roles: List[int] joined_at: datetime premium_since: datetime deaf: bool