Implement Clone for all events

This commit is contained in:
kozabrada123 2023-06-04 13:49:35 +02:00
parent ca9f7f6c11
commit 7d17a1c976
24 changed files with 91 additions and 92 deletions

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use crate::types::{GuildApplicationCommandPermissions, WebSocketEvent}; use crate::types::{GuildApplicationCommandPermissions, WebSocketEvent};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#application-command-permissions-update /// See https://discord.com/developers/docs/topics/gateway-events#application-command-permissions-update
pub struct ApplicationCommandPermissionsUpdate { pub struct ApplicationCommandPermissionsUpdate {
#[serde(flatten)] #[serde(flatten)]

View File

@ -5,7 +5,7 @@ use crate::types::{
WebSocketEvent, WebSocketEvent,
}; };
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create /// See https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create
pub struct AutoModerationRuleCreate { pub struct AutoModerationRuleCreate {
#[serde(flatten)] #[serde(flatten)]
@ -14,7 +14,7 @@ pub struct AutoModerationRuleCreate {
impl WebSocketEvent for AutoModerationRuleCreate {} impl WebSocketEvent for AutoModerationRuleCreate {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update /// See https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update
pub struct AutoModerationRuleUpdate { pub struct AutoModerationRuleUpdate {
#[serde(flatten)] #[serde(flatten)]
@ -23,7 +23,7 @@ pub struct AutoModerationRuleUpdate {
impl WebSocketEvent for AutoModerationRuleUpdate {} impl WebSocketEvent for AutoModerationRuleUpdate {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete /// See https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete
pub struct AutoModerationRuleDelete { pub struct AutoModerationRuleDelete {
#[serde(flatten)] #[serde(flatten)]
@ -32,7 +32,7 @@ pub struct AutoModerationRuleDelete {
impl WebSocketEvent for AutoModerationRuleDelete {} impl WebSocketEvent for AutoModerationRuleDelete {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution /// See https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution
pub struct AutoModerationActionExecution { pub struct AutoModerationActionExecution {
pub guild_id: Snowflake, pub guild_id: Snowflake,

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use crate::types::{VoiceState, WebSocketEvent}; use crate::types::{VoiceState, WebSocketEvent};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// Is sent to a client by the server to signify a new being created /// Is sent to a client by the server to signify a new being created
/// {"t":"CALL_CREATE","s":2,"op":0,"d":{"voice_states":[],"ringing":[],"region":"milan","message_id":"1107187514906775613","embedded_activities":[],"channel_id":"837609115475771392"}} /// {"t":"CALL_CREATE","s":2,"op":0,"d":{"voice_states":[],"ringing":[],"region":"milan","message_id":"1107187514906775613","embedded_activities":[],"channel_id":"837609115475771392"}}
@ -18,7 +18,7 @@ pub struct CallCreate {
} }
impl WebSocketEvent for CallCreate {} impl WebSocketEvent for CallCreate {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// Updates the status of calls /// Updates the status of calls
/// {"t":"CALL_UPDATE","s":5,"op":0,"d":{"ringing":["837606544539254834"],"region":"milan","message_id":"1107191540234846308","guild_id":null,"channel_id":"837609115475771392"}} /// {"t":"CALL_UPDATE","s":5,"op":0,"d":{"ringing":["837606544539254834"],"region":"milan","message_id":"1107191540234846308","guild_id":null,"channel_id":"837609115475771392"}}
@ -32,7 +32,7 @@ pub struct CallUpdate {
} }
impl WebSocketEvent for CallUpdate {} impl WebSocketEvent for CallUpdate {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// Deletes a ringing call /// Deletes a ringing call
/// {"t":"CALL_DELETE","s":8,"op":0,"d":{"channel_id":"837609115475771392"}} /// {"t":"CALL_DELETE","s":8,"op":0,"d":{"channel_id":"837609115475771392"}}
@ -41,7 +41,7 @@ pub struct CallDelete {
} }
impl WebSocketEvent for CallDelete {} impl WebSocketEvent for CallDelete {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// See https://unofficial-discord-docs.vercel.app/gateway/op13 /// See https://unofficial-discord-docs.vercel.app/gateway/op13
/// {"op":13,"d":{"channel_id":"837609115475771392"}} /// {"op":13,"d":{"channel_id":"837609115475771392"}}

View File

@ -3,7 +3,7 @@ use crate::types::events::WebSocketEvent;
use chrono::{DateTime, Utc}; use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#channel-pins-update /// See https://discord.com/developers/docs/topics/gateway-events#channel-pins-update
pub struct ChannelPinsUpdate { pub struct ChannelPinsUpdate {
pub guild_id: Option<String>, pub guild_id: Option<String>,
@ -13,7 +13,7 @@ pub struct ChannelPinsUpdate {
impl WebSocketEvent for ChannelPinsUpdate {} impl WebSocketEvent for ChannelPinsUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#channel-create /// See https://discord.com/developers/docs/topics/gateway-events#channel-create
pub struct ChannelCreate { pub struct ChannelCreate {
#[serde(flatten)] #[serde(flatten)]
@ -22,7 +22,7 @@ pub struct ChannelCreate {
impl WebSocketEvent for ChannelCreate {} impl WebSocketEvent for ChannelCreate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#channel-update /// See https://discord.com/developers/docs/topics/gateway-events#channel-update
pub struct ChannelUpdate { pub struct ChannelUpdate {
#[serde(flatten)] #[serde(flatten)]
@ -31,7 +31,7 @@ pub struct ChannelUpdate {
impl WebSocketEvent for ChannelUpdate {} impl WebSocketEvent for ChannelUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// Officially undocumented. /// Officially undocumented.
/// Sends updates to client about a new message with its id /// Sends updates to client about a new message with its id
/// {"channel_unread_updates": [{"id": "816412869766938648", "last_message_id": "1085892012085104680"}} /// {"channel_unread_updates": [{"id": "816412869766938648", "last_message_id": "1085892012085104680"}}
@ -40,7 +40,7 @@ pub struct ChannelUnreadUpdate {
pub guild_id: String, pub guild_id: String,
} }
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// Contains very few fields from [Channel] /// Contains very few fields from [Channel]
/// See also [ChannelUnreadUpdates] /// See also [ChannelUnreadUpdates]
pub struct ChannelUnreadUpdateObject { pub struct ChannelUnreadUpdateObject {
@ -51,7 +51,7 @@ pub struct ChannelUnreadUpdateObject {
impl WebSocketEvent for ChannelUnreadUpdate {} impl WebSocketEvent for ChannelUnreadUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#channel-delete /// See https://discord.com/developers/docs/topics/gateway-events#channel-delete
pub struct ChannelDelete { pub struct ChannelDelete {
#[serde(flatten)] #[serde(flatten)]

View File

@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize};
use super::PresenceUpdate; use super::PresenceUpdate;
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-create /// See https://discord.com/developers/docs/topics/gateway-events#guild-create
/// This one is particularly painful, it can be a Guild object with an extra field or an unavailable guild object /// This one is particularly painful, it can be a Guild object with an extra field or an unavailable guild object
pub struct GuildCreate { pub struct GuildCreate {
@ -14,7 +14,7 @@ pub struct GuildCreate {
pub d: GuildCreateDataOption, pub d: GuildCreateDataOption,
} }
#[derive(Debug, Deserialize, Serialize)] #[derive(Debug, Deserialize, Serialize, Clone)]
#[serde(untagged)] #[serde(untagged)]
pub enum GuildCreateDataOption { pub enum GuildCreateDataOption {
UnavailableGuild(UnavailableGuild), UnavailableGuild(UnavailableGuild),
@ -28,7 +28,7 @@ impl Default for GuildCreateDataOption {
} }
impl WebSocketEvent for GuildCreate {} impl WebSocketEvent for GuildCreate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-ban-add-guild-ban-add-event-fields /// See https://discord.com/developers/docs/topics/gateway-events#guild-ban-add-guild-ban-add-event-fields
pub struct GuildBanAdd { pub struct GuildBanAdd {
pub guild_id: String, pub guild_id: String,
@ -37,7 +37,7 @@ pub struct GuildBanAdd {
impl WebSocketEvent for GuildBanAdd {} impl WebSocketEvent for GuildBanAdd {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove /// See https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove
pub struct GuildBanRemove { pub struct GuildBanRemove {
pub guild_id: String, pub guild_id: String,
@ -46,7 +46,7 @@ pub struct GuildBanRemove {
impl WebSocketEvent for GuildBanRemove {} impl WebSocketEvent for GuildBanRemove {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-update /// See https://discord.com/developers/docs/topics/gateway-events#guild-update
pub struct GuildUpdate { pub struct GuildUpdate {
#[serde(flatten)] #[serde(flatten)]
@ -55,7 +55,7 @@ pub struct GuildUpdate {
impl WebSocketEvent for GuildUpdate {} impl WebSocketEvent for GuildUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-delete /// See https://discord.com/developers/docs/topics/gateway-events#guild-delete
pub struct GuildDelete { pub struct GuildDelete {
#[serde(flatten)] #[serde(flatten)]
@ -64,7 +64,7 @@ pub struct GuildDelete {
impl WebSocketEvent for GuildDelete {} impl WebSocketEvent for GuildDelete {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-audit-log-entry-create /// See https://discord.com/developers/docs/topics/gateway-events#guild-audit-log-entry-create
pub struct GuildAuditLogEntryCreate { pub struct GuildAuditLogEntryCreate {
#[serde(flatten)] #[serde(flatten)]
@ -73,7 +73,7 @@ pub struct GuildAuditLogEntryCreate {
impl WebSocketEvent for GuildAuditLogEntryCreate {} impl WebSocketEvent for GuildAuditLogEntryCreate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-emojis-update /// See https://discord.com/developers/docs/topics/gateway-events#guild-emojis-update
pub struct GuildEmojisUpdate { pub struct GuildEmojisUpdate {
pub guild_id: String, pub guild_id: String,
@ -82,7 +82,7 @@ pub struct GuildEmojisUpdate {
impl WebSocketEvent for GuildEmojisUpdate {} impl WebSocketEvent for GuildEmojisUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-stickers-update /// See https://discord.com/developers/docs/topics/gateway-events#guild-stickers-update
pub struct GuildStickersUpdate { pub struct GuildStickersUpdate {
pub guild_id: String, pub guild_id: String,
@ -91,7 +91,7 @@ pub struct GuildStickersUpdate {
impl WebSocketEvent for GuildStickersUpdate {} impl WebSocketEvent for GuildStickersUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update /// See https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update
pub struct GuildIntegrationsUpdate { pub struct GuildIntegrationsUpdate {
pub guild_id: String, pub guild_id: String,
@ -99,7 +99,7 @@ pub struct GuildIntegrationsUpdate {
impl WebSocketEvent for GuildIntegrationsUpdate {} impl WebSocketEvent for GuildIntegrationsUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-member-add /// See https://discord.com/developers/docs/topics/gateway-events#guild-member-add
pub struct GuildMemberAdd { pub struct GuildMemberAdd {
#[serde(flatten)] #[serde(flatten)]
@ -109,7 +109,7 @@ pub struct GuildMemberAdd {
impl WebSocketEvent for GuildMemberAdd {} impl WebSocketEvent for GuildMemberAdd {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-member-remove /// See https://discord.com/developers/docs/topics/gateway-events#guild-member-remove
pub struct GuildMemberRemove { pub struct GuildMemberRemove {
pub guild_id: String, pub guild_id: String,
@ -118,7 +118,7 @@ pub struct GuildMemberRemove {
impl WebSocketEvent for GuildMemberRemove {} impl WebSocketEvent for GuildMemberRemove {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-member-update /// See https://discord.com/developers/docs/topics/gateway-events#guild-member-update
pub struct GuildMemberUpdate { pub struct GuildMemberUpdate {
pub guild_id: String, pub guild_id: String,
@ -136,7 +136,7 @@ pub struct GuildMemberUpdate {
impl WebSocketEvent for GuildMemberUpdate {} impl WebSocketEvent for GuildMemberUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk /// See https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk
pub struct GuildMembersChunk { pub struct GuildMembersChunk {
pub guild_id: String, pub guild_id: String,
@ -150,7 +150,7 @@ pub struct GuildMembersChunk {
impl WebSocketEvent for GuildMembersChunk {} impl WebSocketEvent for GuildMembersChunk {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-role-create /// See https://discord.com/developers/docs/topics/gateway-events#guild-role-create
pub struct GuildRoleCreate { pub struct GuildRoleCreate {
pub guild_id: String, pub guild_id: String,
@ -159,7 +159,7 @@ pub struct GuildRoleCreate {
impl WebSocketEvent for GuildRoleCreate {} impl WebSocketEvent for GuildRoleCreate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-role-update /// See https://discord.com/developers/docs/topics/gateway-events#guild-role-update
pub struct GuildRoleUpdate { pub struct GuildRoleUpdate {
pub guild_id: String, pub guild_id: String,
@ -168,7 +168,7 @@ pub struct GuildRoleUpdate {
impl WebSocketEvent for GuildRoleUpdate {} impl WebSocketEvent for GuildRoleUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-role-delete /// See https://discord.com/developers/docs/topics/gateway-events#guild-role-delete
pub struct GuildRoleDelete { pub struct GuildRoleDelete {
pub guild_id: String, pub guild_id: String,
@ -177,7 +177,7 @@ pub struct GuildRoleDelete {
impl WebSocketEvent for GuildRoleDelete {} impl WebSocketEvent for GuildRoleDelete {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create /// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create
pub struct GuildScheduledEventCreate { pub struct GuildScheduledEventCreate {
#[serde(flatten)] #[serde(flatten)]
@ -186,7 +186,7 @@ pub struct GuildScheduledEventCreate {
impl WebSocketEvent for GuildScheduledEventCreate {} impl WebSocketEvent for GuildScheduledEventCreate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-update /// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-update
pub struct GuildScheduledEventUpdate { pub struct GuildScheduledEventUpdate {
#[serde(flatten)] #[serde(flatten)]
@ -195,7 +195,7 @@ pub struct GuildScheduledEventUpdate {
impl WebSocketEvent for GuildScheduledEventUpdate {} impl WebSocketEvent for GuildScheduledEventUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-delete /// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-delete
pub struct GuildScheduledEventDelete { pub struct GuildScheduledEventDelete {
#[serde(flatten)] #[serde(flatten)]
@ -204,7 +204,7 @@ pub struct GuildScheduledEventDelete {
impl WebSocketEvent for GuildScheduledEventDelete {} impl WebSocketEvent for GuildScheduledEventDelete {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-user-add /// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-user-add
pub struct GuildScheduledEventUserAdd { pub struct GuildScheduledEventUserAdd {
pub guild_scheduled_event_id: String, pub guild_scheduled_event_id: String,
@ -214,7 +214,7 @@ pub struct GuildScheduledEventUserAdd {
impl WebSocketEvent for GuildScheduledEventUserAdd {} impl WebSocketEvent for GuildScheduledEventUserAdd {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-user-remove /// See https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-user-remove
pub struct GuildScheduledEventUserRemove { pub struct GuildScheduledEventUserRemove {
pub guild_scheduled_event_id: String, pub guild_scheduled_event_id: String,

View File

@ -1,7 +1,7 @@
use crate::types::events::WebSocketEvent; use crate::types::events::WebSocketEvent;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
pub struct GatewayHeartbeat { pub struct GatewayHeartbeat {
pub op: u8, pub op: u8,
pub d: Option<u64>, pub d: Option<u64>,
@ -9,7 +9,7 @@ pub struct GatewayHeartbeat {
impl WebSocketEvent for GatewayHeartbeat {} impl WebSocketEvent for GatewayHeartbeat {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
pub struct GatewayHeartbeatAck { pub struct GatewayHeartbeatAck {
pub op: i32, pub op: i32,
} }

View File

@ -1,7 +1,7 @@
use crate::types::events::WebSocketEvent; use crate::types::events::WebSocketEvent;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
pub struct GatewayHello { pub struct GatewayHello {
pub op: i32, pub op: i32,
pub d: HelloData, pub d: HelloData,
@ -9,7 +9,7 @@ pub struct GatewayHello {
impl WebSocketEvent for GatewayHello {} impl WebSocketEvent for GatewayHello {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
pub struct HelloData { pub struct HelloData {
pub heartbeat_interval: u128, pub heartbeat_interval: u128,
} }

View File

@ -2,7 +2,7 @@ use crate::types::events::{PresenceUpdate, WebSocketEvent};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_with::serde_as; use serde_with::serde_as;
#[derive(Debug, Deserialize, Serialize)] #[derive(Debug, Deserialize, Serialize, Clone)]
pub struct GatewayIdentifyPayload { pub struct GatewayIdentifyPayload {
pub token: String, pub token: String,
pub properties: GatewayIdentifyConnectionProps, pub properties: GatewayIdentifyConnectionProps,
@ -65,7 +65,7 @@ impl GatewayIdentifyPayload {
impl WebSocketEvent for GatewayIdentifyPayload {} impl WebSocketEvent for GatewayIdentifyPayload {}
#[derive(Debug, Deserialize, Serialize)] #[derive(Debug, Deserialize, Serialize, Clone)]
#[serde_as] #[serde_as]
pub struct GatewayIdentifyConnectionProps { pub struct GatewayIdentifyConnectionProps {
/// Almost always sent /// Almost always sent

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use crate::types::{Integration, WebSocketEvent}; use crate::types::{Integration, WebSocketEvent};
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#integration-create /// See https://discord.com/developers/docs/topics/gateway-events#integration-create
pub struct IntegrationCreate { pub struct IntegrationCreate {
#[serde(flatten)] #[serde(flatten)]
@ -12,7 +12,7 @@ pub struct IntegrationCreate {
impl WebSocketEvent for IntegrationCreate {} impl WebSocketEvent for IntegrationCreate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#integration-update /// See https://discord.com/developers/docs/topics/gateway-events#integration-update
pub struct IntegrationUpdate { pub struct IntegrationUpdate {
#[serde(flatten)] #[serde(flatten)]
@ -22,7 +22,7 @@ pub struct IntegrationUpdate {
impl WebSocketEvent for IntegrationUpdate {} impl WebSocketEvent for IntegrationUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#integration-delete /// See https://discord.com/developers/docs/topics/gateway-events#integration-delete
pub struct IntegrationDelete { pub struct IntegrationDelete {
pub id: String, pub id: String,

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use crate::types::{Interaction, WebSocketEvent}; use crate::types::{Interaction, WebSocketEvent};
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#interaction-create /// See https://discord.com/developers/docs/topics/gateway-events#interaction-create
pub struct InteractionCreate { pub struct InteractionCreate {
#[serde(flatten)] #[serde(flatten)]

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use crate::types::{GuildInvite, WebSocketEvent}; use crate::types::{GuildInvite, WebSocketEvent};
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#invite-create /// See https://discord.com/developers/docs/topics/gateway-events#invite-create
pub struct InviteCreate { pub struct InviteCreate {
#[serde(flatten)] #[serde(flatten)]
@ -11,7 +11,7 @@ pub struct InviteCreate {
impl WebSocketEvent for InviteCreate {} impl WebSocketEvent for InviteCreate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#invite-delete /// See https://discord.com/developers/docs/topics/gateway-events#invite-delete
pub struct InviteDelete { pub struct InviteDelete {
pub channel_id: String, pub channel_id: String,

View File

@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize};
use super::WebSocketEvent; use super::WebSocketEvent;
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// ///
/// Sent to the server to signify lazy loading of a guild; /// Sent to the server to signify lazy loading of a guild;

View File

@ -1,11 +1,10 @@
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::types::entities::{Emoji, GuildMember, Message, PublicUser}; use crate::types::entities::{Emoji, GuildMember, Message, PublicUser};
use super::WebSocketEvent; use super::WebSocketEvent;
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
pub struct TypingStartEvent { pub struct TypingStartEvent {
pub channel_id: String, pub channel_id: String,
pub guild_id: Option<String>, pub guild_id: Option<String>,
@ -16,7 +15,7 @@ pub struct TypingStartEvent {
impl WebSocketEvent for TypingStartEvent {} impl WebSocketEvent for TypingStartEvent {}
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#message-create /// See https://discord.com/developers/docs/topics/gateway-events#message-create
pub struct MessageCreate { pub struct MessageCreate {
#[serde(flatten)] #[serde(flatten)]
@ -26,7 +25,7 @@ pub struct MessageCreate {
mentions: Option<Vec<MessageCreateUser>>, mentions: Option<Vec<MessageCreateUser>>,
} }
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#message-create-message-create-extra-fields /// See https://discord.com/developers/docs/topics/gateway-events#message-create-message-create-extra-fields
pub struct MessageCreateUser { pub struct MessageCreateUser {
#[serde(flatten)] #[serde(flatten)]
@ -36,7 +35,7 @@ pub struct MessageCreateUser {
impl WebSocketEvent for MessageCreate {} impl WebSocketEvent for MessageCreate {}
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
pub struct MessageUpdate { pub struct MessageUpdate {
#[serde(flatten)] #[serde(flatten)]
message: Message, message: Message,
@ -47,7 +46,7 @@ pub struct MessageUpdate {
impl WebSocketEvent for MessageUpdate {} impl WebSocketEvent for MessageUpdate {}
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
pub struct MessageDelete { pub struct MessageDelete {
id: String, id: String,
channel_id: String, channel_id: String,
@ -56,7 +55,7 @@ pub struct MessageDelete {
impl WebSocketEvent for MessageDelete {} impl WebSocketEvent for MessageDelete {}
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
pub struct MessageDeleteBulk { pub struct MessageDeleteBulk {
ids: Vec<String>, ids: Vec<String>,
channel_id: String, channel_id: String,
@ -65,7 +64,7 @@ pub struct MessageDeleteBulk {
impl WebSocketEvent for MessageDeleteBulk {} impl WebSocketEvent for MessageDeleteBulk {}
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
pub struct MessageReactionAdd { pub struct MessageReactionAdd {
user_id: String, user_id: String,
channel_id: String, channel_id: String,
@ -77,7 +76,7 @@ pub struct MessageReactionAdd {
impl WebSocketEvent for MessageReactionAdd {} impl WebSocketEvent for MessageReactionAdd {}
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
pub struct MessageReactionRemove { pub struct MessageReactionRemove {
user_id: String, user_id: String,
channel_id: String, channel_id: String,
@ -88,7 +87,7 @@ pub struct MessageReactionRemove {
impl WebSocketEvent for MessageReactionRemove {} impl WebSocketEvent for MessageReactionRemove {}
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
pub struct MessageReactionRemoveAll { pub struct MessageReactionRemoveAll {
channel_id: String, channel_id: String,
message_id: String, message_id: String,
@ -97,7 +96,7 @@ pub struct MessageReactionRemoveAll {
impl WebSocketEvent for MessageReactionRemoveAll {} impl WebSocketEvent for MessageReactionRemoveAll {}
#[derive(Debug, Serialize, Deserialize, Default)] #[derive(Debug, Serialize, Deserialize, Default, Clone)]
pub struct MessageReactionRemoveEmoji { pub struct MessageReactionRemoveEmoji {
channel_id: String, channel_id: String,
message_id: String, message_id: String,
@ -107,7 +106,7 @@ pub struct MessageReactionRemoveEmoji {
impl WebSocketEvent for MessageReactionRemoveEmoji {} impl WebSocketEvent for MessageReactionRemoveEmoji {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// ///
/// Not documented anywhere unofficially /// Not documented anywhere unofficially

View File

@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize};
use super::{ChannelUnreadUpdateObject, WebSocketEvent}; use super::{ChannelUnreadUpdateObject, WebSocketEvent};
use crate::types::{GuildMember, VoiceState}; use crate::types::{GuildMember, VoiceState};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// ///
/// Seems to be passively set to update the client on guild details (though, why not just send the update events?) /// Seems to be passively set to update the client on guild details (though, why not just send the update events?)

View File

@ -4,7 +4,7 @@ use crate::types::interfaces::ClientStatusObject;
use crate::types::{Activity, GuildMember, PresenceUpdate, VoiceState}; use crate::types::{Activity, GuildMember, PresenceUpdate, VoiceState};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Sort of documented, though most fields are left out /// Sort of documented, though most fields are left out
/// For a full example see https://gist.github.com/kozabrada123/a347002b1fb8825a5727e40746d4e199 /// For a full example see https://gist.github.com/kozabrada123/a347002b1fb8825a5727e40746d4e199
/// to:do add all undocumented fields /// to:do add all undocumented fields
@ -27,7 +27,7 @@ pub struct GatewayReady {
impl WebSocketEvent for GatewayReady {} impl WebSocketEvent for GatewayReady {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// Sent after the READY event when a client is a user /// Sent after the READY event when a client is a user
/// {"t":"READY_SUPPLEMENTAL","s":2,"op":0,"d":{"merged_presences":{"guilds":[[{"user_id":"463640391196082177","status":"online","game":null,"client_status":{"web":"online"},"activities":[]}]],"friends":[{"user_id":"463640391196082177","status":"online","last_modified":1684053508443,"client_status":{"web":"online"},"activities":[]}]},"merged_members":[[{"user_id":"463640391196082177","roles":[],"premium_since":null,"pending":false,"nick":"pog","mute":false,"joined_at":"2021-05-30T15:24:08.763000+00:00","flags":0,"deaf":false,"communication_disabled_until":null,"avatar":null}]],"lazy_private_channels":[],"guilds":[{"voice_states":[],"id":"848582562217590824","embedded_activities":[]}],"disclose":["pomelo"]}} /// {"t":"READY_SUPPLEMENTAL","s":2,"op":0,"d":{"merged_presences":{"guilds":[[{"user_id":"463640391196082177","status":"online","game":null,"client_status":{"web":"online"},"activities":[]}]],"friends":[{"user_id":"463640391196082177","status":"online","last_modified":1684053508443,"client_status":{"web":"online"},"activities":[]}]},"merged_members":[[{"user_id":"463640391196082177","roles":[],"premium_since":null,"pending":false,"nick":"pog","mute":false,"joined_at":"2021-05-30T15:24:08.763000+00:00","flags":0,"deaf":false,"communication_disabled_until":null,"avatar":null}]],"lazy_private_channels":[],"guilds":[{"voice_states":[],"id":"848582562217590824","embedded_activities":[]}],"disclose":["pomelo"]}}
@ -43,13 +43,13 @@ pub struct GatewayReadySupplemental {
impl WebSocketEvent for GatewayReadySupplemental {} impl WebSocketEvent for GatewayReadySupplemental {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
pub struct MergedPresences { pub struct MergedPresences {
pub guilds: Vec<Vec<MergedPresenceGuild>>, pub guilds: Vec<Vec<MergedPresenceGuild>>,
pub friends: Vec<MergedPresenceFriend>, pub friends: Vec<MergedPresenceFriend>,
} }
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
pub struct MergedPresenceFriend { pub struct MergedPresenceFriend {
pub user_id: String, pub user_id: String,
pub status: String, pub status: String,
@ -59,7 +59,7 @@ pub struct MergedPresenceFriend {
pub activities: Vec<Activity>, pub activities: Vec<Activity>,
} }
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
pub struct MergedPresenceGuild { pub struct MergedPresenceGuild {
pub user_id: String, pub user_id: String,
pub status: String, pub status: String,
@ -69,7 +69,7 @@ pub struct MergedPresenceGuild {
pub activities: Vec<Activity>, pub activities: Vec<Activity>,
} }
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
pub struct SupplementalGuild { pub struct SupplementalGuild {
pub voice_states: Option<Vec<VoiceState>>, pub voice_states: Option<Vec<VoiceState>>,
pub id: String, pub id: String,

View File

@ -1,7 +1,7 @@
use crate::types::{events::WebSocketEvent, Relationship, RelationshipType, Snowflake}; use crate::types::{events::WebSocketEvent, Relationship, RelationshipType, Snowflake};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://github.com/spacebarchat/server/issues/204 /// See https://github.com/spacebarchat/server/issues/204
pub struct RelationshipAdd { pub struct RelationshipAdd {
#[serde(flatten)] #[serde(flatten)]
@ -11,7 +11,7 @@ pub struct RelationshipAdd {
impl WebSocketEvent for RelationshipAdd {} impl WebSocketEvent for RelationshipAdd {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://github.com/spacebarchat/server/issues/203 /// See https://github.com/spacebarchat/server/issues/203
pub struct RelationshipRemove { pub struct RelationshipRemove {
pub id: Snowflake, pub id: Snowflake,

View File

@ -1,7 +1,7 @@
use crate::types::events::WebSocketEvent; use crate::types::events::WebSocketEvent;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#request-guild-members-request-guild-members-structure /// See https://discord.com/developers/docs/topics/gateway-events#request-guild-members-request-guild-members-structure
pub struct GatewayRequestGuildMembers { pub struct GatewayRequestGuildMembers {
pub guild_id: String, pub guild_id: String,

View File

@ -1,7 +1,7 @@
use crate::types::events::WebSocketEvent; use crate::types::events::WebSocketEvent;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
pub struct GatewayResume { pub struct GatewayResume {
pub token: String, pub token: String,
pub session_id: String, pub session_id: String,

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use crate::types::{Activity, WebSocketEvent}; use crate::types::{Activity, WebSocketEvent};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Officially Undocumented /// Officially Undocumented
/// Seems like it sends active session info to users on connect /// Seems like it sends active session info to users on connect
/// [{"activities":[],"client_info":{"client":"web","os":"other","version":0},"session_id":"ab5941b50d818b1f8d93b4b1b581b192","status":"online"}] /// [{"activities":[],"client_info":{"client":"web","os":"other","version":0},"session_id":"ab5941b50d818b1f8d93b4b1b581b192","status":"online"}]
@ -10,7 +10,7 @@ pub struct SessionsReplace {
pub sessions: Vec<Session>, pub sessions: Vec<Session>,
} }
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Session info for the current user /// Session info for the current user
pub struct Session { pub struct Session {
pub activities: Vec<Activity>, pub activities: Vec<Activity>,
@ -19,7 +19,7 @@ pub struct Session {
pub status: String, pub status: String,
} }
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// Another Client info object /// Another Client info object
/// {"client":"web","os":"other","version":0} /// {"client":"web","os":"other","version":0}
// Note: I don't think this one exists yet? Though I might've made a mistake and this might be a duplicate // Note: I don't think this one exists yet? Though I might've made a mistake and this might be a duplicate

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use crate::types::{StageInstance, WebSocketEvent}; use crate::types::{StageInstance, WebSocketEvent};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#stage-instance-create /// See https://discord.com/developers/docs/topics/gateway-events#stage-instance-create
pub struct StageInstanceCreate { pub struct StageInstanceCreate {
#[serde(flatten)] #[serde(flatten)]
@ -11,7 +11,7 @@ pub struct StageInstanceCreate {
impl WebSocketEvent for StageInstanceCreate {} impl WebSocketEvent for StageInstanceCreate {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#stage-instance-update /// See https://discord.com/developers/docs/topics/gateway-events#stage-instance-update
pub struct StageInstanceUpdate { pub struct StageInstanceUpdate {
#[serde(flatten)] #[serde(flatten)]
@ -20,7 +20,7 @@ pub struct StageInstanceUpdate {
impl WebSocketEvent for StageInstanceUpdate {} impl WebSocketEvent for StageInstanceUpdate {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#stage-instance-delete /// See https://discord.com/developers/docs/topics/gateway-events#stage-instance-delete
pub struct StageInstanceDelete { pub struct StageInstanceDelete {
#[serde(flatten)] #[serde(flatten)]

View File

@ -2,7 +2,7 @@ use crate::types::entities::{Channel, ThreadMember};
use crate::types::events::WebSocketEvent; use crate::types::events::WebSocketEvent;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#thread-create /// See https://discord.com/developers/docs/topics/gateway-events#thread-create
pub struct ThreadCreate { pub struct ThreadCreate {
#[serde(flatten)] #[serde(flatten)]
@ -11,7 +11,7 @@ pub struct ThreadCreate {
impl WebSocketEvent for ThreadCreate {} impl WebSocketEvent for ThreadCreate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#thread-update /// See https://discord.com/developers/docs/topics/gateway-events#thread-update
pub struct ThreadUpdate { pub struct ThreadUpdate {
#[serde(flatten)] #[serde(flatten)]
@ -20,7 +20,7 @@ pub struct ThreadUpdate {
impl WebSocketEvent for ThreadUpdate {} impl WebSocketEvent for ThreadUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#thread-delete /// See https://discord.com/developers/docs/topics/gateway-events#thread-delete
pub struct ThreadDelete { pub struct ThreadDelete {
#[serde(flatten)] #[serde(flatten)]
@ -29,7 +29,7 @@ pub struct ThreadDelete {
impl WebSocketEvent for ThreadDelete {} impl WebSocketEvent for ThreadDelete {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#thread-list-sync /// See https://discord.com/developers/docs/topics/gateway-events#thread-list-sync
pub struct ThreadListSync { pub struct ThreadListSync {
pub guild_id: String, pub guild_id: String,
@ -40,7 +40,7 @@ pub struct ThreadListSync {
impl WebSocketEvent for ThreadListSync {} impl WebSocketEvent for ThreadListSync {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#thread-member-update /// See https://discord.com/developers/docs/topics/gateway-events#thread-member-update
/// The inner payload is a thread member object with an extra field. /// The inner payload is a thread member object with an extra field.
pub struct ThreadMemberUpdate { pub struct ThreadMemberUpdate {
@ -51,7 +51,7 @@ pub struct ThreadMemberUpdate {
impl WebSocketEvent for ThreadMemberUpdate {} impl WebSocketEvent for ThreadMemberUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#thread-members-update /// See https://discord.com/developers/docs/topics/gateway-events#thread-members-update
pub struct ThreadMembersUpdate { pub struct ThreadMembersUpdate {
pub id: String, pub id: String,

View File

@ -3,7 +3,7 @@ use crate::types::events::WebSocketEvent;
use crate::types::utils::Snowflake; use crate::types::utils::Snowflake;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#user-update /// See https://discord.com/developers/docs/topics/gateway-events#user-update
pub struct UserUpdate { pub struct UserUpdate {
#[serde(flatten)] #[serde(flatten)]
@ -12,7 +12,7 @@ pub struct UserUpdate {
impl WebSocketEvent for UserUpdate {} impl WebSocketEvent for UserUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// Undocumented /// Undocumented
/// ///
/// Possibly an update for muted guild / channel settings for the current user /// Possibly an update for muted guild / channel settings for the current user
@ -37,7 +37,7 @@ pub struct UserGuildSettingsUpdate {
impl WebSocketEvent for UserGuildSettingsUpdate {} impl WebSocketEvent for UserGuildSettingsUpdate {}
#[derive(Debug, Default, Deserialize, Serialize)] #[derive(Debug, Default, Deserialize, Serialize, Clone)]
/// Undocumented /// Undocumented
/// ///
/// Received in [UserGuildSettingsUpdate] /// Received in [UserGuildSettingsUpdate]

View File

@ -1,7 +1,7 @@
use crate::types::{events::WebSocketEvent, VoiceState}; use crate::types::{events::WebSocketEvent, VoiceState};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#update-voice-state /// See https://discord.com/developers/docs/topics/gateway-events#update-voice-state
/// ///
/// Sent to the server /// Sent to the server
@ -16,7 +16,7 @@ pub struct UpdateVoiceState {
impl WebSocketEvent for UpdateVoiceState {} impl WebSocketEvent for UpdateVoiceState {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#voice-state-update /// See https://discord.com/developers/docs/topics/gateway-events#voice-state-update
/// ///
/// Received from the server /// Received from the server
@ -29,7 +29,7 @@ pub struct VoiceStateUpdate {
impl WebSocketEvent for VoiceStateUpdate {} impl WebSocketEvent for VoiceStateUpdate {}
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#voice-server-update /// See https://discord.com/developers/docs/topics/gateway-events#voice-server-update
pub struct VoiceServerUpdate { pub struct VoiceServerUpdate {
pub token: String, pub token: String,

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use super::WebSocketEvent; use super::WebSocketEvent;
#[derive(Debug, Deserialize, Serialize, Default)] #[derive(Debug, Deserialize, Serialize, Default, Clone)]
/// See https://discord.com/developers/docs/topics/gateway-events#webhooks-update /// See https://discord.com/developers/docs/topics/gateway-events#webhooks-update
pub struct WebhooksUpdate { pub struct WebhooksUpdate {
pub guild_id: String, pub guild_id: String,