Structs
- Censor is a flexible profanity filter that can analyze and/or censor arbitrary text.
- Context is useful for taking moderation actions on a per-user basis i.e. each user would get their own Context.
- Options for customizing
Context::process_with_options. Always initialize with ..Default::default(), as new fields may be added in the future. - Options that control rate-limiting.
- Options that control repetition-limiting.
- Set of possible interpretations for an input character.
- Efficiently stores profanity, false positives, and safe words.
- Type is represents a type or severity of inappropriateness. They can be combined with bitwise AND and OR operators, and are not mutually exclusive.
Enums
- Communicates why a message was blocked as opposed to merely censored.
Traits
- CensorIter makes it easy to sanitize an arbitrary
Iterator<Item=char>by calling.censor(). - CensorStr makes it easy to sanitize a
Stringor&strby calling.censor().
Functions
- Adds a word, with the given type. The type can be
Type::SAFE, or a combination ofType::PROFANE,Type::Sexual,Type::Offensive,Type::Mean,Type::Mild,Type::Moderate, andType::Severe, but NOT both (can’t be safe and unsafe). - Returns true iff the character is effectively whitespace. The definition of whitespace is broader than that of Unicode, because it includes control characters and a few additional blank characters.
- Trims a string to a maximum number of
m’s. A budget of 5 would allow five m, or more narrower characters, or fewer wider characters. - Trims whitespace characters from both ends of a string, according to the definition of
crate::is_whitespace. - Returns an estimate of the worst-case display width in milli-
m’s (thousandths of the the width of anmcharacter). - Convenience method for getting the width, in
m’s, of an entire string.