equal
deleted
inserted
replaced
|
1 pub mod bad_words; |
|
2 |
|
3 use unicode_skeleton::UnicodeSkeleton; |
|
4 |
|
5 #[derive(PartialEq, Debug)] |
|
6 enum Severity { |
|
7 Pass, |
|
8 Warn, |
|
9 Silence, |
|
10 Ban, |
|
11 } |
|
12 |
|
13 trait MessageChecker<T> { |
|
14 fn check(&self, player_id: T, message: &str) -> Severity; |
|
15 fn fix(&self, player_id: T, message: &str) -> Option<String> { |
|
16 None |
|
17 } |
|
18 } |
|
19 |
|
20 fn normalized_message(s: &str) -> String { |
|
21 s.chars() |
|
22 .flat_map(|c| c.to_lowercase()) |
|
23 .skeleton_chars() |
|
24 .collect::<String>() |
|
25 } |