anicove2 / api /utils /moderation.py
mwask's picture
Upload 124 files
19ecc0d verified
Raw
History Blame Contribute Delete
1.01 kB
import re
BANNED_WORDS = {
"nigger", "nigga", "faggot", "fag", "retard",
"cunt", "slut", "whore", "fuck", "motherfucker",
"kys", "kill yourself", "go die", "end yourself",
"madarchod", "bhenchod", "chutiya", "randi", "gandu", "lund",
"chod", "choda", "khanki", "bhoda", "chudi", "bainchod",
"magir pola", "shuwor", "kuttar baccha",
"sharmuta", "ibn sharmuta", "ya kalb", "ya ibn al kalb",
"puta", "hijo de puta", "maricon", "cabron",
"pute", "salope", "connard",
"hurensohn", "fotze",
"putang ina", "gago",
"anjing", "bangsat",
"orospu", "orospu cocugu",
}
_PATTERN = re.compile(
r"\b(" + "|".join(re.escape(word) for word in BANNED_WORDS) + r")\b",
re.IGNORECASE,
)
_CONTEXT_PATTERN = re.compile(
r"\b(bc|mc)\b(?=\s+\w)|\b\w+\s+(bc|mc)\b",
re.IGNORECASE,
)
def contains_banned_words(text):
if not text:
return False
return bool(_PATTERN.search(text) or _CONTEXT_PATTERN.search(text))