use serde::{Deserialize, Serialize};
pub type DiscordSnowflake = String;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub enum DiscordMentions {
#[serde(rename = "roles")]
Roles,
#[serde(rename = "users")]
Users,
#[serde(rename = "everyone")]
Everyone,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[repr(u8)]
pub enum DiscordChannelType {
GuildText = 0,
Dm = 1,
GuildVoice = 2,
GroupDm = 3,
GuildCategory = 4,
GuildAnnouncement = 5,
AnnouncementThread = 10,
PublicThread = 11,
PrivateThread = 12,
GuildStageVoice = 13,
GuildDirectory = 14,
GuildForum = 15,
GuildMedia = 16,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct DiscordPartialEmoji {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<DiscordSnowflake>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub animated: Option<bool>,
}