use serde::{Deserialize, Serialize};
use strum::{Display, EnumString, IntoStaticStr};
#[derive(
Debug,
Clone,
Default,
EnumString,
Display,
IntoStaticStr,
Deserialize,
Serialize,
PartialEq,
Eq,
PartialOrd,
Ord,
)]
pub enum HookNotionType {
#[strum(serialize = "receiveLike")]
ReceiveLike,
#[strum(serialize = "friendAdd")]
FriendAdd,
#[strum(serialize = "friendDecrease")]
FriendDecrease,
#[strum(serialize = "privatePoke")]
PrivatePoke,
#[strum(serialize = "privateRecall")]
PrivateRecall,
#[strum(serialize = "privateFileUpload")]
PrivateFileUpload,
#[strum(serialize = "groupPoke")]
GroupPoke,
#[strum(serialize = "GroupRecall")]
GroupRecall,
#[strum(serialize = "groupFileUpload")]
GroupFileUpload,
#[strum(serialize = "groupCardChange")]
GroupCardChange,
#[strum(serialize = "groupMemberTitleChange")]
GroupMemberTitleChange,
#[strum(serialize = "groupHighlightsChange")]
GroupHighlightsChange,
#[strum(serialize = "groupMemberAdd")]
GroupMemberAdd,
#[strum(serialize = "groupMemberDecrease")]
GroupMemberDecrease,
#[strum(serialize = "groupAdminChange")]
GroupAdminChange,
#[strum(serialize = "groupSignIn")]
GroupSignIn,
#[strum(serialize = "groupMemberBan")]
GroupMemberBan,
#[strum(serialize = "groupWholeBan")]
GroupWholeBan,
#[strum(serialize = "groupMessageReaction")]
GroupMessageReaction,
#[strum(serialize = "groupLuckKing")]
GroupLuckKing,
#[strum(serialize = "groupHonorChange")]
GroupHonorChange,
#[strum(serialize = "all")]
#[default]
All,
}