diff --git a/modules/troll-spelling-corrector/index.py b/modules/troll-spelling-corrector/index.py index 71d309d..7536c20 100644 --- a/modules/troll-spelling-corrector/index.py +++ b/modules/troll-spelling-corrector/index.py @@ -1,3 +1,32 @@ +import re + +all_possible_match_strings = [ + "силка", "силки", + "силки", "силок", + "силці", "силкам", + "силку", "силки", + "силкою", "силками", + "силко", "силки", + + "лінк", "лінка", "лінки", + "лінку", "лінки", "лінок", + "лінці", "лінці", "лінкам", + "лінк", "лінку", "лінки", + "лінком", "лінкою", "лінками", + "лінку", "лінці", "лінках", + "лінке", "лінко", "лінки" +] + +unique_match_strings = set(all_possible_match_strings) + +regex_matchers = [re.compile(fr"\b{i}\b") for i in unique_match_strings] + def process(message, path): - if "силк" in message.text.lower() or "лінк" in message.text.lower(): - return "*посилання 🌚", None + lowercase_message = message.text.lower() + + for m in regex_matchers: + result = m.match(lowercase_message) + if result: + return "*посилання 🌚", None + else: + return "", None