diff --git a/src/gateway/events.rs b/src/gateway/events.rs index 049434be..ae1ce855 100644 --- a/src/gateway/events.rs +++ b/src/gateway/events.rs @@ -69,12 +69,14 @@ pub struct Message { pub reaction_remove: Publisher, pub reaction_remove_all: Publisher, pub reaction_remove_emoji: Publisher, + pub recent_mention_delete: Publisher, pub ack: Publisher, } #[derive(Default, Debug)] pub struct User { pub update: Publisher, + pub note_update: Publisher, pub guild_settings_update: Publisher, pub presence_update: Publisher, pub typing_start: Publisher, diff --git a/src/gateway/gateway.rs b/src/gateway/gateway.rs index f1fc03cc..32180b1a 100644 --- a/src/gateway/gateway.rs +++ b/src/gateway/gateway.rs @@ -404,6 +404,7 @@ impl Gateway { "MESSAGE_REACTION_REMOVE" => message.reaction_remove, // TODO "MESSAGE_REACTION_REMOVE_ALL" => message.reaction_remove_all, // TODO "MESSAGE_REACTION_REMOVE_EMOJI" => message.reaction_remove_emoji, // TODO + "RECENT_MENTION_DELETE" => message.recent_mention_delete, "MESSAGE_ACK" => message.ack, "PRESENCE_UPDATE" => user.presence_update, // TODO "RELATIONSHIP_ADD" => relationship.add, @@ -413,6 +414,7 @@ impl Gateway { "STAGE_INSTANCE_DELETE" => stage_instance.delete, "TYPING_START" => user.typing_start, "USER_UPDATE" => user.update, // TODO + "USER_NOTE_UPDATE" => user.note_update, "USER_GUILD_SETTINGS_UPDATE" => user.guild_settings_update, "VOICE_STATE_UPDATE" => voice.state_update, // TODO "VOICE_SERVER_UPDATE" => voice.server_update, diff --git a/src/types/events/message.rs b/src/types/events/message.rs index 1b855dfc..d2ca3082 100644 --- a/src/types/events/message.rs +++ b/src/types/events/message.rs @@ -149,6 +149,15 @@ pub struct MessageReactionRemoveEmoji { pub emoji: Emoji, } +#[derive(Debug, Serialize, Deserialize, Default, Clone, Copy, WebSocketEvent)] +/// Sent when a message that mentioned the current user in the last week is acknowledged and deleted. +/// +/// # Reference +/// See +pub struct RecentMentionDelete { + pub message_id: Snowflake, +} + #[derive(Debug, Deserialize, Serialize, Default, Clone, WebSocketEvent)] /// Officially Undocumented /// diff --git a/src/types/events/user.rs b/src/types/events/user.rs index 877c96cd..acfc2988 100644 --- a/src/types/events/user.rs +++ b/src/types/events/user.rs @@ -16,6 +16,18 @@ pub struct UserUpdate { pub user: PublicUser, } +#[derive(Debug, Default, Deserialize, Serialize, Clone, PartialEq, Eq, WebSocketEvent)] +/// See ; +/// +/// Sent when a note the current user has on another user is modified; +/// +/// If the field "note" is an empty string, the note was removed. +pub struct UserNoteUpdate { + /// Id of the user the note is for + pub id: Snowflake, + pub note: String, +} + #[derive(Debug, Default, Deserialize, Serialize, Clone, PartialEq, Eq, WebSocketEvent)] /// Undocumented; ///