feat: add reason to ServerMemberLeave event

closes #314

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>
This commit is contained in:
Paul Makles
2024-07-10 14:12:53 +01:00
committed by IAmTomahawkx
parent a9e309395e
commit e17af1c064
3 changed files with 9 additions and 4 deletions

View File

@@ -443,7 +443,7 @@ impl State {
EventV1::ServerMemberJoin { .. } => { EventV1::ServerMemberJoin { .. } => {
// We will always receive ServerCreate when joining a new server. // We will always receive ServerCreate when joining a new server.
} }
EventV1::ServerMemberLeave { id, user } => { EventV1::ServerMemberLeave { id, user, .. } => {
if user == &self.cache.user_id { if user == &self.cache.user_id {
self.remove_subscription(id).await; self.remove_subscription(id).await;

View File

@@ -4,8 +4,8 @@ use serde::{Deserialize, Serialize};
use revolt_models::v0::{ use revolt_models::v0::{
AppendMessage, Channel, Emoji, FieldsChannel, FieldsMember, FieldsRole, FieldsServer, AppendMessage, Channel, Emoji, FieldsChannel, FieldsMember, FieldsRole, FieldsServer,
FieldsUser, FieldsWebhook, Member, MemberCompositeKey, Message, PartialChannel, PartialMember, FieldsUser, FieldsWebhook, Member, MemberCompositeKey, Message, PartialChannel, PartialMember,
PartialMessage, PartialRole, PartialServer, PartialUser, PartialWebhook, Report, Server, User, PartialMessage, PartialRole, PartialServer, PartialUser, PartialWebhook, RemovalIntention,
UserSettings, Webhook, Report, Server, User, UserSettings, Webhook,
}; };
use revolt_result::Error; use revolt_result::Error;
@@ -136,7 +136,11 @@ pub enum EventV1 {
ServerMemberJoin { id: String, user: String }, ServerMemberJoin { id: String, user: String },
/// User left server /// User left server
ServerMemberLeave { id: String, user: String }, ServerMemberLeave {
id: String,
user: String,
reason: RemovalIntention,
},
/// Server role created or updated /// Server role created or updated
ServerRoleUpdate { ServerRoleUpdate {

View File

@@ -229,6 +229,7 @@ impl Member {
EventV1::ServerMemberLeave { EventV1::ServerMemberLeave {
id: self.id.server.to_string(), id: self.id.server.to_string(),
user: self.id.user.to_string(), user: self.id.user.to_string(),
reason: intention.clone().into(),
} }
.p(self.id.server.to_string()) .p(self.id.server.to_string())
.await; .await;