@@ -335,7 +335,7 @@ async def get_user(self, user_id: Optional[int] = None) -> dict:
335335 user_id = "@me"
336336
337337 request = await self ._req .request (Route ("GET" , f"/users/{ user_id } " ))
338- self .cache .users .add (Item (id = user_id , value = request ))
338+ self .cache .users .add (Item (id = user_id , value = User ( ** request ) ))
339339
340340 return request
341341
@@ -370,7 +370,7 @@ async def create_dm(self, recipient_id: int) -> dict:
370370 request = await self ._req .request (
371371 Route ("POST" , "/users/@me/channels" ), json = {"recipient_id" : recipient_id }
372372 )
373- self .cache .dms .add (Item (id = str (recipient_id ), value = request ))
373+ self .cache .dms .add (Item (id = str (recipient_id ), value = Channel ( ** request ) ))
374374
375375 return request
376376
@@ -428,7 +428,7 @@ async def create_message(self, payload: dict, channel_id: int) -> dict:
428428 request = await self ._req .request (
429429 Route ("POST" , "/channels/{channel_id}/messages" , channel_id = channel_id ), json = payload
430430 )
431- self .cache .messages .add (Item (id = request ["id" ], value = request ))
431+ self .cache .messages .add (Item (id = request ["id" ], value = Message ( ** request ) ))
432432
433433 return request
434434
@@ -532,7 +532,7 @@ async def get_self_guilds(self) -> list:
532532 request = await self ._req .request (Route ("GET" , "/users/@me/guilds" ))
533533
534534 for guild in request :
535- self .cache .self_guilds .add (Item (id = guild ["id" ], value = guild ))
535+ self .cache .self_guilds .add (Item (id = guild ["id" ], value = Guild ( ** guild ) ))
536536
537537 return request
538538
@@ -543,7 +543,7 @@ async def get_guild(self, guild_id: int):
543543 :return: The guild object associated, if any.
544544 """
545545 request = await self ._req .request (Route ("GET" , "/guilds/{guild_id}" , guild_id = guild_id ))
546- self .cache .guilds .add (Item (id = str (guild_id ), value = request ))
546+ self .cache .guilds .add (Item (id = str (guild_id ), value = Guild ( ** request ) ))
547547
548548 return request
549549
@@ -858,22 +858,22 @@ async def get_all_channels(self, guild_id: int) -> List[dict]:
858858 )
859859
860860 for channel in request :
861- self .cache .channels .add (Item (id = channel ["id" ], value = request ))
861+ self .cache .channels .add (Item (id = channel ["id" ], value = Channel ( ** channel ) ))
862862
863863 return request
864864
865- async def get_all_roles (self , guild_id : int ) -> List [Role ]:
865+ async def get_all_roles (self , guild_id : int ) -> List [dict ]:
866866 """
867867 Gets all roles from a Guild.
868868 :param guild_id: Guild ID snowflake
869- :return: An array of Role objects.
869+ :return: An array of Role objects as dictionaries .
870870 """
871871 request = await self ._req .request (
872872 Route ("GET" , "/guilds/{guild_id}/roles" , guild_id = guild_id )
873873 )
874874
875875 for role in request :
876- self .cache .roles .add (Item (id = role ["id" ], value = request ))
876+ self .cache .roles .add (Item (id = role ["id" ], value = Role ( ** role ) ))
877877
878878 return request
879879
@@ -890,7 +890,7 @@ async def create_guild_role(
890890 request = await self ._req .request (
891891 Route ("POST" , f"/guilds/{ guild_id } /roles" ), json = data , reason = reason
892892 )
893- self .cache .roles .add (Item (id = request ["id" ], value = request ))
893+ self .cache .roles .add (Item (id = request ["id" ], value = Role ( ** request ) ))
894894
895895 return request
896896
@@ -1019,7 +1019,7 @@ async def add_guild_member(
10191019 roles : Optional [List [Role ]] = None ,
10201020 mute : bool = None ,
10211021 deaf : bool = None ,
1022- ) -> Member :
1022+ ) -> dict :
10231023 """
10241024 A low level method of adding a user to a guild with pre-defined attributes.
10251025
@@ -1030,7 +1030,7 @@ async def add_guild_member(
10301030 :param roles: An array of roles that the user is assigned.
10311031 :param mute: Whether the user is mute in voice channels.
10321032 :param deaf: Whether the user is deafened in voice channels.
1033- :return: Guild member object (?)
1033+ :return: Guild member object as dictionary
10341034 """
10351035 request = await self ._req .request (
10361036 Route ("PUT" , f"/guilds/{ guild_id } /members/{ user_id } " ),
@@ -1047,7 +1047,7 @@ async def add_guild_member(
10471047 },
10481048 )
10491049
1050- self .cache .members .add (Item (id = str (user_id ), value = request ))
1050+ self .cache .members .add (Item (id = str (user_id ), value = Member ( ** request ) ))
10511051
10521052 return request
10531053
@@ -1195,14 +1195,14 @@ async def modify_member(self, user_id: int, guild_id: int, payload: dict):
11951195
11961196 # Channel endpoint.
11971197
1198- async def get_channel (self , channel_id : int ) -> Channel :
1198+ async def get_channel (self , channel_id : int ) -> dict :
11991199 """
12001200 Gets a channel by ID. If the channel is a thread, it also includes thread members (and other thread attributes)
12011201 :param channel_id: Channel ID snowflake.
1202- :return: Channel object.
1202+ :return: Dictionary of the channel object.
12031203 """
12041204 request = await self ._req .request (Route ("GET" , f"/channels/{ channel_id } " ))
1205- self .cache .channels .add (Item (id = str (channel_id ), value = request ))
1205+ self .cache .channels .add (Item (id = str (channel_id ), value = Channel ( ** request ) ))
12061206
12071207 return request
12081208
@@ -1261,13 +1261,13 @@ async def get_channel_messages(
12611261 )
12621262
12631263 for message in request :
1264- self .cache .messages .add (Item (id = message ["id" ], value = request ))
1264+ self .cache .messages .add (Item (id = message ["id" ], value = Message ( ** message ) ))
12651265
12661266 return request
12671267
12681268 async def create_channel (
12691269 self , guild_id : int , payload : dict , reason : Optional [str ] = None
1270- ) -> Channel :
1270+ ) -> dict :
12711271 """
12721272 Creates a channel within a guild.
12731273
@@ -1277,12 +1277,12 @@ async def create_channel(
12771277 :param guild_id: Guild ID snowflake.
12781278 :param payload: Payload data.
12791279 :param reason: Reason to show in audit log, if needed.
1280- :return: Channel object.
1280+ :return: Channel object as dictionary .
12811281 """
12821282 request = await self ._req .request (
12831283 Route ("POST" , f"/guilds/{ guild_id } /channels" ), json = payload , reason = reason
12841284 )
1285- self .cache .channels .add (Item (id = request ["id" ], value = request ))
1285+ self .cache .channels .add (Item (id = request ["id" ], value = Channel ( ** request ) ))
12861286
12871287 return request
12881288
0 commit comments