#![doc(alias = "channel.suspicious_user")]
use super::{EventSubscription, EventType};
use crate::types;
use serde_derive::{Deserialize, Serialize};
pub mod message;
pub mod update;
#[doc(inline)]
pub use message::{ChannelSuspiciousUserMessageV1, ChannelSuspiciousUserMessageV1Payload};
#[doc(inline)]
pub use update::{ChannelSuspiciousUserUpdateV1, ChannelSuspiciousUserUpdateV1Payload};
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "snake_case")]
pub enum LowTrustStatus {
None,
ActiveMonitoring,
Restricted,
#[serde(untagged)]
Unknown(String),
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "snake_case")]
pub enum SuspiciousUserType {
#[serde(rename = "manually_added")]
Manual,
BanEvader,
#[serde(rename = "banned_in_shared_channel")]
SharedChannelBan,
#[serde(untagged)]
Unknown(String),
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "snake_case")]
pub enum BanEvasionEvaluation {
Unknown,
Possible,
Likely,
#[serde(untagged)]
Other(String),
}