twilight_model/gateway/payload/incoming/
guild_audit_log_entry_create.rs

1use crate::guild::audit_log::AuditLogEntry;
2use serde::{Deserialize, Serialize};
3use std::ops::{Deref, DerefMut};
4
5/// The inner value of the [`GuildAuditLogEntryCreate`] variant of the
6/// [`Event`] enum.
7///
8/// It is received when a new audit log entry is created in a
9/// server. The bot needs the [`VIEW_AUDIT_LOG`] permission to receive
10/// the event.
11///
12/// [`GuildAuditLogEntryCreate`]: crate::gateway::event::Event::GuildAuditLogEntryCreate
13/// [`Event`]:crate::gateway::event::Event
14/// [`VIEW_AUDIT_LOG`]: crate::guild::Permissions::VIEW_AUDIT_LOG
15#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
16pub struct GuildAuditLogEntryCreate(pub AuditLogEntry);
17
18impl Deref for GuildAuditLogEntryCreate {
19    type Target = AuditLogEntry;
20
21    fn deref(&self) -> &Self::Target {
22        &self.0
23    }
24}
25
26impl DerefMut for GuildAuditLogEntryCreate {
27    fn deref_mut(&mut self) -> &mut Self::Target {
28        &mut self.0
29    }
30}