From f7afc0a25d81c983e1b4cdb4c301408650dfb525 Mon Sep 17 00:00:00 2001 From: mAxYoLo01 Date: Tue, 1 Mar 2022 23:58:37 +0100 Subject: [PATCH 1/4] fix: fix Invite model missing attributes + adding docstring --- interactions/api/models/guild.py | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index 52a9ed666..cb772d8f0 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1574,11 +1574,17 @@ class Invite(DictSerializerMixin): """ The invite object. - :ivar int uses: The amount of uses on the invite. - :ivar int max_uses: The amount of maximum uses on the invite. - :ivar int max_age: The maximum age of this invite. - :ivar bool temporary: A detection of whether this invite is temporary or not. + :ivar int uses: The amount of uses on this invite. + :ivar int max_uses: The amount of maximum uses on this invite. + :ivar int max_age: The maximum age of this invite, in seconds. + :ivar bool temporary: A detection of whether this invite only grants temporary membership. :ivar datetime created_at: The time when this invite was created. + :ivar datetime expires_at: The time when this invite will expire. + :ivar int type: The type of this invite. + :ivar User inviter: The user who created this invite. + :ivar int guild_id: The guild ID of this invite. + :ivar str code: The code of this invite. + :ivar int channel_id: The channel ID of this invite. """ __slots__ = ( @@ -1589,8 +1595,7 @@ class Invite(DictSerializerMixin): "max_age", "temporary", "created_at", - # TODO: Investigate their purposes and document. - "types", + "type", "inviter", "guild_id", "expires_at", @@ -1605,6 +1610,18 @@ def __init__(self, **kwargs): if self._json.get("created_at") else None ) + self.expires_at = ( + datetime.fromisoformat(self._json.get("expires_at")) + if self._json.get("expires_at") + else None + ) + self.inviter = ( + User(**self._json.get("inviter")) + if self._json.get("inviter") + else None + ) + self.channel_id = int(self.channel_id) + self.guild_id = int(self.guild_id) class GuildTemplate(DictSerializerMixin): From d7e87611dede3b1135dd12f8c75053d66fb8fd63 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 23:05:36 +0000 Subject: [PATCH 2/4] ci: correct from checks. --- interactions/api/models/guild.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index cb772d8f0..6e0a79fcc 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1615,11 +1615,7 @@ def __init__(self, **kwargs): if self._json.get("expires_at") else None ) - self.inviter = ( - User(**self._json.get("inviter")) - if self._json.get("inviter") - else None - ) + self.inviter = User(**self._json.get("inviter")) if self._json.get("inviter") else None self.channel_id = int(self.channel_id) self.guild_id = int(self.guild_id) From 27f4e059238c52b8925a787bed52d1a946bf58f1 Mon Sep 17 00:00:00 2001 From: mAxYoLo01 Date: Wed, 2 Mar 2022 01:21:56 +0100 Subject: [PATCH 3/4] fix: Implement missing attributes when creating an invite --- interactions/api/models/guild.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index 6e0a79fcc..1d6dd2d54 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1582,9 +1582,14 @@ class Invite(DictSerializerMixin): :ivar datetime expires_at: The time when this invite will expire. :ivar int type: The type of this invite. :ivar User inviter: The user who created this invite. - :ivar int guild_id: The guild ID of this invite. :ivar str code: The code of this invite. - :ivar int channel_id: The channel ID of this invite. + :ivar Optional[int] guild_id: The guild ID of this invite. + :ivar Optional[int] channel_id: The channel ID of this invite. + :ivar Optional[int] target_user_type: The type of the target user of this invite. + :ivar Optional[User] target_user: The target user of this invite. + :ivar Optional[int] target_type: The target type of this invite. + :ivar Optional[Guild] guild: The guild of this invite. + :ivar Optional[Channel] channel: The channel of this invite. """ __slots__ = ( @@ -1601,6 +1606,11 @@ class Invite(DictSerializerMixin): "expires_at", "code", "channel_id", + "target_user_type", + "target_user", + "target_type", + "guild", + "channel", ) def __init__(self, **kwargs): @@ -1616,8 +1626,11 @@ def __init__(self, **kwargs): else None ) self.inviter = User(**self._json.get("inviter")) if self._json.get("inviter") else None - self.channel_id = int(self.channel_id) - self.guild_id = int(self.guild_id) + self.channel_id = int(self.channel_id) if self._json.get("channel_id") else None + self.guild_id = int(self.guild_id) if self._json.get("guild_id") else None + self.target_user = User(**self._json.get("target_user")) if self._json.get("target_user") else None + self.guild = Guild(**self._json.get("guild"), _client=self._client) if self._json.get("guild") else None + self.channel = Channel(**self._json.get("channel"), _client=self._client) if self._json.get("channel") else None class GuildTemplate(DictSerializerMixin): From 527a0c8f012db70351351712a5901fa4d9fd8db9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 00:23:52 +0000 Subject: [PATCH 4/4] ci: correct from checks. --- interactions/api/models/guild.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index 1d6dd2d54..608922f36 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1628,9 +1628,19 @@ def __init__(self, **kwargs): self.inviter = User(**self._json.get("inviter")) if self._json.get("inviter") else None self.channel_id = int(self.channel_id) if self._json.get("channel_id") else None self.guild_id = int(self.guild_id) if self._json.get("guild_id") else None - self.target_user = User(**self._json.get("target_user")) if self._json.get("target_user") else None - self.guild = Guild(**self._json.get("guild"), _client=self._client) if self._json.get("guild") else None - self.channel = Channel(**self._json.get("channel"), _client=self._client) if self._json.get("channel") else None + self.target_user = ( + User(**self._json.get("target_user")) if self._json.get("target_user") else None + ) + self.guild = ( + Guild(**self._json.get("guild"), _client=self._client) + if self._json.get("guild") + else None + ) + self.channel = ( + Channel(**self._json.get("channel"), _client=self._client) + if self._json.get("channel") + else None + ) class GuildTemplate(DictSerializerMixin):