--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rust/chat_sanitizer/src/lib.rs Thu Dec 27 23:43:54 2018 +0100
@@ -0,0 +1,25 @@
+pub mod bad_words;
+
+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>()
+}