Skip to content

Commit b8a6589

Browse files
authored
fix!: correct guild_scheduled_event request and json serialisation in helper methods. (#468)
* fix!: make scheduled events work
1 parent 2315176 commit b8a6589

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

interactions/api/http.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2586,7 +2586,7 @@ async def create_scheduled_event(self, guild_id: Snowflake, data: dict) -> dict:
25862586
payload = {k: v for k, v in data.items() if k in valid_keys}
25872587

25882588
return await self._req.request(
2589-
Route("POST", "guilds/{guild_id}/scheduled-events/", guild_id=int(guild_id)),
2589+
Route("POST", "/guilds/{guild_id}/scheduled-events", guild_id=int(guild_id)),
25902590
json=payload,
25912591
)
25922592

interactions/api/models/guild.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,6 +1060,10 @@ async def create_scheduled_event(
10601060
raise ValueError(
10611061
"entity_metadata is required for external events!"
10621062
) # TODO: replace with custom error formatter
1063+
if entity_type == EntityType.EXTERNAL and scheduled_end_time is MISSING:
1064+
raise ValueError(
1065+
"External events require an end time!"
1066+
) # TODO: replace with custom error formatter
10631067

10641068
payload = {
10651069
"name": name,
@@ -1071,7 +1075,7 @@ async def create_scheduled_event(
10711075
if scheduled_end_time is not MISSING:
10721076
payload["scheduled_end_time"] = scheduled_end_time
10731077
if entity_metadata is not MISSING:
1074-
payload["entity_metadata"] = entity_metadata
1078+
payload["entity_metadata"] = entity_metadata._json
10751079
if channel_id is not MISSING:
10761080
payload["channel_id"] = channel_id
10771081
if description is not MISSING:
@@ -1144,7 +1148,7 @@ async def modify_scheduled_event(
11441148
if scheduled_end_time is not MISSING:
11451149
payload["scheduled_end_time"] = scheduled_end_time
11461150
if entity_metadata is not MISSING:
1147-
payload["entity_metadata"] = entity_metadata
1151+
payload["entity_metadata"] = entity_metadata._json
11481152
if description is not MISSING:
11491153
payload["description"] = description
11501154
if status is not MISSING:

0 commit comments

Comments
 (0)