Skip to content

Commit e8a8e24

Browse files
authored
feat: implement Member.id (#465)
* feat: implement Member.id * feat: use property * Update member.pyi * docs: add typehint * docs: add typehint and docstring
1 parent 7e84b88 commit e8a8e24

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

interactions/api/models/member.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from .channel import Channel
55
from .flags import Permissions
6-
from .misc import MISSING, DictSerializerMixin
6+
from .misc import MISSING, DictSerializerMixin, Snowflake
77
from .role import Role
88
from .user import User
99

@@ -74,6 +74,16 @@ def __init__(self, **kwargs):
7474

7575
if not self.avatar and self.user:
7676
self.avatar = self.user.avatar
77+
78+
@property
79+
def id(self) -> Snowflake:
80+
"""
81+
Returns the ID of the user.
82+
83+
:return: The ID of the user
84+
:rtype: Snowflake
85+
"""
86+
return self.user.id if self.user else None
7787

7888
async def ban(
7989
self,

interactions/api/models/member.pyi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
from datetime import datetime
22
from typing import Any, List, Optional, Union
33

4-
from .misc import DictSerializerMixin, MISSING
4+
from .misc import DictSerializerMixin, MISSING, Snowflake
55
from .role import Role
66
from .user import User
77
from .flags import Permissions
88
from ..http import HTTPClient
99
from .message import Message, Embed, MessageInteraction
1010
from ...models.component import ActionRow, Button, SelectMenu
1111

12-
1312
class Member(DictSerializerMixin):
1413

1514
_json: dict
@@ -28,6 +27,8 @@ class Member(DictSerializerMixin):
2827
communication_disabled_until: Optional[datetime.isoformat]
2928
hoisted_role: Any # TODO: post-v4: Investigate what this is for when documented by Discord.
3029
def __init__(self, **kwargs): ...
30+
@property
31+
def id(self) -> Snowflake: ...
3132
async def ban(
3233
self,
3334
guild_id: int,

0 commit comments

Comments
 (0)