Add Guild Audit Log Entry Create
This commit is contained in:
parent
5550186ca3
commit
9ee0b51757
|
@ -302,6 +302,28 @@ pub struct WelcomeScreenChannel {
|
||||||
pub emoji_name: Option<String>,
|
pub emoji_name: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
||||||
|
/// See https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object
|
||||||
|
pub struct AuditLogEntry {
|
||||||
|
pub target_id: Option<String>,
|
||||||
|
pub changes: Option<Vec<AuditLogChange>>,
|
||||||
|
pub user_id: Option<String>,
|
||||||
|
pub id: String,
|
||||||
|
// to:do implement an enum for these types
|
||||||
|
pub action_type: u8,
|
||||||
|
// to:do add better options type
|
||||||
|
pub options: Option<serde_json::Value>,
|
||||||
|
pub reason: Option<String>
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
||||||
|
/// See https://discord.com/developers/docs/resources/audit-log#audit-log-change-object
|
||||||
|
pub struct AuditLogChange {
|
||||||
|
pub new_value: Option<serde_json::Value>,
|
||||||
|
pub old_value: Option<serde_json::Value>,
|
||||||
|
pub key: String
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
||||||
/// See https://discord.com/developers/docs/topics/permissions#role-object
|
/// See https://discord.com/developers/docs/topics/permissions#role-object
|
||||||
pub struct RoleObject {
|
pub struct RoleObject {
|
||||||
|
@ -1464,6 +1486,15 @@ pub struct GuildDelete {
|
||||||
|
|
||||||
impl WebSocketEvent for GuildDelete {}
|
impl WebSocketEvent for GuildDelete {}
|
||||||
|
|
||||||
|
#[derive(Debug, Default, Deserialize, Serialize)]
|
||||||
|
/// See https://discord.com/developers/docs/topics/gateway-events#guild-audit-log-entry-create
|
||||||
|
pub struct GuildAuditLogEntryCreate {
|
||||||
|
#[serde(flatten)]
|
||||||
|
pub entry: AuditLogEntry
|
||||||
|
}
|
||||||
|
|
||||||
|
impl WebSocketEvent for GuildAuditLogEntryCreate {}
|
||||||
|
|
||||||
#[derive(Debug, Default, Deserialize, Serialize)]
|
#[derive(Debug, Default, Deserialize, Serialize)]
|
||||||
/// 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 {
|
||||||
|
|
|
@ -286,7 +286,10 @@ impl Gateway {
|
||||||
let new_data: GuildDelete = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap();
|
let new_data: GuildDelete = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap();
|
||||||
self.events.lock().await.guild.delete.update_data(new_data).await;
|
self.events.lock().await.guild.delete.update_data(new_data).await;
|
||||||
}
|
}
|
||||||
"GUILD_AUDIT_LOG_ENTRY_CREATE" => {}
|
"GUILD_AUDIT_LOG_ENTRY_CREATE" => {
|
||||||
|
let new_data: GuildAuditLogEntryCreate = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap();
|
||||||
|
self.events.lock().await.guild.audit_log_entry_create.update_data(new_data).await;
|
||||||
|
}
|
||||||
"GUILD_BAN_ADD" => {
|
"GUILD_BAN_ADD" => {
|
||||||
let new_data: GuildBanAdd = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap();
|
let new_data: GuildBanAdd = serde_json::from_str(gateway_payload.d.unwrap().get()).unwrap();
|
||||||
self.events.lock().await.guild.ban_add.update_data(new_data).await;
|
self.events.lock().await.guild.ban_add.update_data(new_data).await;
|
||||||
|
@ -681,7 +684,7 @@ mod events {
|
||||||
pub create: GatewayEvent<GuildCreate>,
|
pub create: GatewayEvent<GuildCreate>,
|
||||||
pub update: GatewayEvent<GuildUpdate>,
|
pub update: GatewayEvent<GuildUpdate>,
|
||||||
pub delete: GatewayEvent<GuildDelete>,
|
pub delete: GatewayEvent<GuildDelete>,
|
||||||
//pub audit_log_entry_create: GatewayEvent<ThreadCreate>,
|
pub audit_log_entry_create: GatewayEvent<GuildAuditLogEntryCreate>,
|
||||||
pub ban_add: GatewayEvent<GuildBanAdd>,
|
pub ban_add: GatewayEvent<GuildBanAdd>,
|
||||||
pub ban_remove: GatewayEvent<GuildBanRemove>,
|
pub ban_remove: GatewayEvent<GuildBanRemove>,
|
||||||
pub emojis_update: GatewayEvent<GuildEmojisUpdate>,
|
pub emojis_update: GatewayEvent<GuildEmojisUpdate>,
|
||||||
|
|
Loading…
Reference in New Issue