В публичных Telegram-чатах часто возникает проблема нецензурной лексики, которая портит атмосферу общения. ProfanityMiddleware — это интеллектуальное решение для автоматической фильтрации мата и оскорблений. 🔹 Как это работает?
Middleware анализирует все сообщения в реальном времени: Использует гибридный алгоритм: def _find_banned_words(self, text: str) -> Set[str]:
words = re.findall(r'\b\w+\b', text.lower())
found_words = {word for word in words if word in self.banned_words}
# Обнаружение вульгарных приставок
for word in words:
if self._contains_vulgar_prefix(word):
found_words.add(word)
return found_words def _replace_banned_words(self, text: str) -> str:
words = text.split()
for i, word in enumerate(words):
clean_word = re.sub(r'[^\w]', '', word.lower())
if clean_word in self.banned_words or self._contains_vulgar_prefix(clean_word):
words[i] = '*' * len(word)
return ' '.join(words) После уда