rust/chat_sanitizer/src/lib.rs
author Wuzzy <Wuzzy2@mail.ru>
Mon, 17 Jun 2019 20:27:34 +0200
changeset 15171 2765731b378b
parent 14505 ba29aa03db87
permissions -rw-r--r--
New formula to calculate drawn map sizes, now every FeatureSize leads to an unique size It works by using 4 hardcoded map sizes and the rest is simply interpolated. Size 1: 1024×512 Size 6: 2048×1024 Size 12: 4096×2048 (default, compatible with pre-1.0.0) Size 25: 8192×4096

pub mod bad_words;
pub mod letter_repeat;

use unicode_skeleton::UnicodeSkeleton;

#[derive(PartialEq, Debug)]
enum Severity {
    Pass,
    Warn,
    Silence,
    Ban,
}

trait MessageChecker<T> {
    fn check(&self, player_id: T, message: &str) -> Severity;
    fn fix(&self, player_id: T, message: &str) -> Option<String> {
        None
    }
}

fn normalized_message(s: &str) -> String {
    s.chars()
        .flat_map(|c| c.to_lowercase())
        .skeleton_chars()
        .collect::<String>()
}