feat: add reason to ServerMemberLeave event

closes #314
This commit is contained in:
Paul Makles
2024-07-10 14:12:53 +01:00
parent 78cd89ec32
commit e290d168ac
3 changed files with 9 additions and 4 deletions

View File

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

View File

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

View File

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