@@ -58,33 +58,17 @@ class BaseUser(_UserTag):
5858 "_avatar" ,
5959 "_banner" ,
6060 "_avatar_decoration_data" ,
61- "_collectibles" ,
6261 "_accent_colour" ,
6362 "_public_flags" ,
64- "_state " ,
63+ "_collectibles " ,
6564 "_primary_guild" ,
65+ "_state" ,
6666 )
6767
68- if TYPE_CHECKING :
69- name : str
70- id : int
71- discriminator : str
72- global_name : Optional [str ]
73- bot : bool
74- system : bool
75- _state : ConnectionState
76- _avatar : Optional [str ]
77- _banner : Optional [str ]
78- _avatar_decoration_data : Optional [AvatarDecorationDataPayload ]
79- _collectibles : Optional [CollectiblesPayload ]
80- _accent_colour : Optional [int ]
81- _public_flags : int
82- _primary_guild : Optional [UserPrimaryGuildPayload ]
83-
8468 def __init__ (
8569 self , * , state : ConnectionState , data : Union [UserPayload , PartialUserPayload ]
8670 ) -> None :
87- self ._state = state
71+ self ._state : ConnectionState = state
8872 self ._update (data )
8973
9074 def __repr__ (self ) -> str :
@@ -110,24 +94,27 @@ def __hash__(self) -> int:
11094 return self .id >> 22
11195
11296 def _update (self , data : Union [UserPayload , PartialUserPayload ]) -> None :
113- self .name = data ["username" ]
114- self .id = int (data ["id" ])
115- self .discriminator = data ["discriminator" ]
116- self .global_name = data .get ("global_name" )
117- self ._avatar = data ["avatar" ]
118- self ._banner = data .get ("banner" , None )
119- self ._avatar_decoration_data = data .get ("avatar_decoration_data" , None )
120- self ._collectibles = data .get ("collectibles" )
121- self ._accent_colour = data .get ("accent_color" , None )
122- self ._public_flags = data .get ("public_flags" , 0 )
123- self .bot = data .get ("bot" , False )
124- self .system = data .get ("system" , False )
125- self ._primary_guild = data .get ("primary_guild" )
97+ self .name : str = data ["username" ]
98+ self .id : int = int (data ["id" ])
99+ self .discriminator : str = data ["discriminator" ]
100+ self .global_name : Optional [str ] = data .get ("global_name" )
101+ self ._avatar : Optional [str ] = data ["avatar" ]
102+ self ._banner : Optional [str ] = data .get ("banner" )
103+ self ._avatar_decoration_data : Optional [AvatarDecorationDataPayload ] = data .get (
104+ "avatar_decoration_data"
105+ )
106+ self ._accent_colour : Optional [int ] = data .get ("accent_color" )
107+ self ._public_flags : int = data .get ("public_flags" , 0 )
108+ self ._collectibles : Optional [CollectiblesPayload ] = data .get ("collectibles" )
109+ self ._primary_guild : Optional [UserPrimaryGuildPayload ] = data .get ("primary_guild" )
110+ self .bot : bool = data .get ("bot" , False )
111+ self .system : bool = data .get ("system" , False )
126112
127113 @classmethod
128114 def _copy (cls , user : BaseUser ) -> Self :
129115 self = cls .__new__ (cls ) # bypass __init__
130116
117+ self ._state = user ._state
131118 self .name = user .name
132119 self .id = user .id
133120 self .discriminator = user .discriminator
@@ -136,9 +123,11 @@ def _copy(cls, user: BaseUser) -> Self:
136123 self ._banner = user ._banner
137124 self ._avatar_decoration_data = user ._avatar_decoration_data
138125 self ._accent_colour = user ._accent_colour
139- self .bot = user .bot
140- self ._state = user ._state
141126 self ._public_flags = user ._public_flags
127+ self ._collectibles = user ._collectibles
128+ self ._primary_guild = user ._primary_guild
129+ self .bot = user .bot
130+ self .system = user .system
142131
143132 return self
144133
0 commit comments