Struct rustrict::ContextProcessingOptions
source · #[non_exhaustive]pub struct ContextProcessingOptions {
pub block_if_muted: bool,
pub block_if_empty: bool,
pub block_if_severely_inappropriate: bool,
pub safe_mode_until: Option<Instant>,
pub character_limit: Option<NonZeroUsize>,
pub word_break: Option<ContextWordBreakOptions>,
pub rate_limit: Option<ContextRateLimitOptions>,
pub repetition_limit: Option<ContextRepetitionLimitOptions>,
pub max_safe_timeout: Duration,
pub trim_whitespace: bool,
}Expand description
Options for customizing Context::process_with_options. Always initialize with ..Default::default(),
as new fields may be added in the future.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.block_if_muted: boolBlock messages if the user has been manually muted.
block_if_empty: boolBlock messages if they are empty (after whitespace is trimmed, if applicable).
block_if_severely_inappropriate: boolBlock messages, as opposed to censoring, if severe inappropriateness is detected.
safe_mode_until: Option<Instant>Block all messages if they are unsafe (useful for implementing moderator-activated “safe mode”). Note that unsafe messages from certain users may also be blocked automatically.
character_limit: Option<NonZeroUsize>Character count (or, with the width feature, number of m-equivalent widths).
Messages will be trimmed to fit.
word_break: Option<ContextWordBreakOptions>Ensure word-break will work on the message.
rate_limit: Option<ContextRateLimitOptions>Rate-limiting options.
repetition_limit: Option<ContextRepetitionLimitOptions>Block messages if they are very similar to this many previous message.
max_safe_timeout: DurationMaximum automatic “safe” timeouts can last. If set too high, users have more time/incentive to try and find ways around the system. If zero, “safe” timeouts won’t be used.
trim_whitespace: boolTrim whitespace from beginning and end before returning censored output.
Trait Implementations§
source§impl Clone for ContextProcessingOptions
impl Clone for ContextProcessingOptions
source§fn clone(&self) -> ContextProcessingOptions
fn clone(&self) -> ContextProcessingOptions
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for ContextProcessingOptions
impl Debug for ContextProcessingOptions
Auto Trait Implementations§
impl Freeze for ContextProcessingOptions
impl RefUnwindSafe for ContextProcessingOptions
impl Send for ContextProcessingOptions
impl Sync for ContextProcessingOptions
impl Unpin for ContextProcessingOptions
impl UnwindSafe for ContextProcessingOptions
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)