use serde::{Deserialize, Serialize}; use serde_repr::{Deserialize_repr, Serialize_repr}; use super::{channel::Channel, guild::Guild, user::User}; #[derive(Debug, Clone, Deserialize_repr, Serialize_repr)] #[repr(u8)] pub enum WebhookTypes { Incoming = 1, ChannelFollower = 2, Application = 3, } #[derive(Debug, Clone, Deserialize, Serialize)] pub struct Webhook { pub id: String, #[serde(rename = "type")] pub type_: WebhookTypes, pub guild_id: Option, pub channel_id: Option, pub user: Option, pub name: Option, pub avatar: Option, pub token: Option, pub application_id: Option, pub source_guild: Option, pub source_channel: Option, pub url: String, }