From d2b5fb7d722ec0271285d90048f5261a809fd8c4 Mon Sep 17 00:00:00 2001 From: kozabrada123 <“kozabrada123@users.noreply.github.com”> Date: Mon, 22 May 2023 16:46:49 +0200 Subject: [PATCH] Add GuildScheduledEvent Events (pt 2) --- src/gateway.rs | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/gateway.rs b/src/gateway.rs index 3805a06..4f8eb02 100644 --- a/src/gateway.rs +++ b/src/gateway.rs @@ -338,11 +338,26 @@ impl Gateway { let new_data: GuildRoleDelete = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap(); self.events.lock().await.guild.role_delete.update_data(new_data).await; } - "GUILD_SCHEDULED_EVENT_CREATE" => {} - "GUILD_SCHEDULED_EVENT_UPDATE" => {} - "GUILD_SCHEDULED_EVENT_DELETE" => {} - "GUILD_SCHEDULED_EVENT_USER_ADD" => {} - "GUILD_SCHEDULED_EVENT_USER_REMOVE" => {} + "GUILD_SCHEDULED_EVENT_CREATE" => { + let new_data: GuildScheduledEventCreate = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap(); + self.events.lock().await.guild.role_scheduled_event_create.update_data(new_data).await; + } + "GUILD_SCHEDULED_EVENT_UPDATE" => { + let new_data: GuildScheduledEventUpdate = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap(); + self.events.lock().await.guild.role_scheduled_event_update.update_data(new_data).await; + } + "GUILD_SCHEDULED_EVENT_DELETE" => { + let new_data: GuildScheduledEventDelete = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap(); + self.events.lock().await.guild.role_scheduled_event_delete.update_data(new_data).await; + } + "GUILD_SCHEDULED_EVENT_USER_ADD" => { + let new_data: GuildScheduledEventUserAdd = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap(); + self.events.lock().await.guild.role_scheduled_event_user_add.update_data(new_data).await; + } + "GUILD_SCHEDULED_EVENT_USER_REMOVE" => { + let new_data: GuildScheduledEventUserRemove = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap(); + self.events.lock().await.guild.role_scheduled_event_user_remove.update_data(new_data).await; + } "PASSIVE_UPDATE_V1" => { let new_data: PassiveUpdateV1 = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap(); self.events.lock().await.guild.passive_update_v1.update_data(new_data).await; @@ -697,11 +712,11 @@ mod events { pub role_create: GatewayEvent, pub role_update: GatewayEvent, pub role_delete: GatewayEvent, - /*pub role_scheduled_event_create: GatewayEvent, - pub role_scheduled_event_update: GatewayEvent, - pub role_scheduled_event_delete: GatewayEvent, - pub role_scheduled_event_user_add: GatewayEvent, - pub role_scheduled_event_user_remove: GatewayEvent,*/ + pub role_scheduled_event_create: GatewayEvent, + pub role_scheduled_event_update: GatewayEvent, + pub role_scheduled_event_delete: GatewayEvent, + pub role_scheduled_event_user_add: GatewayEvent, + pub role_scheduled_event_user_remove: GatewayEvent, pub passive_update_v1: GatewayEvent, }