Skip to content

Commit 5b8e52b

Browse files
committed
fix(http): correct caching and method returns to dict
1 parent 22852a8 commit 5b8e52b

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

interactions/api/http.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)