diff --git a/interactions/api/models/member.py b/interactions/api/models/member.py index e80f92fd3..df50056df 100644 --- a/interactions/api/models/member.py +++ b/interactions/api/models/member.py @@ -3,7 +3,7 @@ from .channel import Channel from .flags import Permissions -from .misc import MISSING, DictSerializerMixin +from .misc import MISSING, DictSerializerMixin, Snowflake from .role import Role from .user import User @@ -74,6 +74,16 @@ def __init__(self, **kwargs): if not self.avatar and self.user: self.avatar = self.user.avatar + + @property + def id(self) -> Snowflake: + """ + Returns the ID of the user. + + :return: The ID of the user + :rtype: Snowflake + """ + return self.user.id if self.user else None async def ban( self, diff --git a/interactions/api/models/member.pyi b/interactions/api/models/member.pyi index 7fea6889f..f1fdfca60 100644 --- a/interactions/api/models/member.pyi +++ b/interactions/api/models/member.pyi @@ -1,7 +1,7 @@ from datetime import datetime from typing import Any, List, Optional, Union -from .misc import DictSerializerMixin, MISSING +from .misc import DictSerializerMixin, MISSING, Snowflake from .role import Role from .user import User from .flags import Permissions @@ -9,7 +9,6 @@ from ..http import HTTPClient from .message import Message, Embed, MessageInteraction from ...models.component import ActionRow, Button, SelectMenu - class Member(DictSerializerMixin): _json: dict @@ -28,6 +27,8 @@ class Member(DictSerializerMixin): communication_disabled_until: Optional[datetime.isoformat] hoisted_role: Any # TODO: post-v4: Investigate what this is for when documented by Discord. def __init__(self, **kwargs): ... + @property + def id(self) -> Snowflake: ... async def ban( self, guild_id: int,