1pub(crate) mod throttler;
2#[cfg(feature = "reply")]
3pub mod reply;
4pub(crate) mod request;
5#[macro_use]
6pub(crate) mod macros;
7pub mod error;
8#[cfg(feature = "util")]
9pub mod util;
10mod tests;
11
12use std::fmt::{Display, Formatter};
13use serde::Deserialize;
14
15#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Deserialize)]
16#[serde(rename_all = "UPPERCASE")]
17pub enum MonthlyPackageRank {
18 None,
19 Superstar,
20}
21display_enum_with_case!(MonthlyPackageRank, Upper);
22
23#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Deserialize)]
24#[serde(rename_all = "UPPERCASE", from="String")]
25pub enum StaffLevel {
26 Normal,
27 Helper,
28 Moderator,
29 Admin,
30 Unknown(String)
31}
32
33impl From<String> for StaffLevel {
34 fn from(s: String) -> Self {
35 match s.as_str() {
36 "NORMAL" => StaffLevel::Normal,
37 "HELPER" => StaffLevel::Helper,
38 "MODERATOR" => StaffLevel::Moderator,
39 "ADMIN" => StaffLevel::Admin,
40 _ => StaffLevel::Unknown(s)
41 }
42 }
43}
44
45impl Display for StaffLevel {
46 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
47 match self {
48 StaffLevel::Normal => write!(f, "NORMAL"),
49 StaffLevel::Helper => write!(f, "HELPER"),
50 StaffLevel::Moderator => write!(f, "MODERATOR"),
51 StaffLevel::Admin => write!(f, "ADMIN"),
52 StaffLevel::Unknown(s) => write!(f, "{}", s),
53 }
54 }
55}
56
57#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Deserialize)]
58#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
59pub enum PackageRank {
60 None,
61 Vip,
62 VipPlus,
63 Mvp,
64 MvpPlus,
65 MvpPlusPlus,
66}
67display_enum_with_case!(PackageRank, ScreamingSnake);
68
69#[derive(Debug, Copy, Clone, PartialEq, Eq, Deserialize)]
71#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
72pub enum ColorCodes {
73 Black,
74 DarkBlue,
75 DarkGreen,
76 DarkAqua,
77 DarkRed,
78 DarkPurple,
79 Gold,
80 Gray,
81 DarkGray,
82 Blue,
83 Green,
84 Aqua,
85 Red,
86 LightPurple,
87 Yellow,
88 White,
89}
90display_enum_with_case!(ColorCodes, ScreamingSnake);