pub mod channel;
pub mod guild;
pub mod message;
pub mod permissions;
pub mod role;
pub mod user;
pub use channel::*;
pub use guild::*;
pub use message::*;
pub use permissions::*;
pub use role::*;
use std::fmt;
pub use user::*;
#[repr(u8)]
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum ModelType {
Guild = 0,
User = 1,
Channel = 2,
Message = 3,
Attachment = 4,
Role = 5,
Internal = 6,
Unknown = 31,
}
impl ModelType {
#[must_use]
pub const fn from_u8(value: u8) -> Self {
match value {
0 => Self::Guild,
1 => Self::User,
2 => Self::Channel,
3 => Self::Message,
4 => Self::Attachment,
5 => Self::Role,
6 => Self::Internal,
_ => Self::Unknown,
}
}
}
impl fmt::Display for ModelType {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(
f,
"{}",
match self {
Self::Guild => "guild",
Self::User => "user",
Self::Channel => "channel",
Self::Message => "message",
Self::Attachment => "attachment",
Self::Role => "role",
Self::Internal => "internal",
Self::Unknown => "unknown",
}
)
}
}