public ProfanityFilterResponse ContainsProfanity(ProfanityFilterRequest request)
        {
            var response = new ProfanityFilterResponse {
                ContainsProfanity = false, Created = DateTime.Now
            };
            var badwords = new[]
            {
                "ass", "ass lick", "asses", "asshole", "assholes", "asskisser", "asswipe", "balls",
                "bastard", "beastial", "beastiality", "beastility", "beaver", "belly whacker",
                "bestial", "bestiality", "bitch", "bitcher", "bitchers", "bitches", "bitchin",
                "bitching", "blow job", "b*****b", "blowjobs", "bonehead", "boner", "brown eye",
                "browneye", "browntown", "bucket c**t", "bull shit", "bullshit", "bum", "bung hole",
                "butch", "butt", "butt breath", "butt f****r", "butt hair", "buttface", "buttfuck",
                "buttfucker", "butthead", "butthole", "buttpicker", "chink", "circle jerk", "clam",
                "c**t", "cobia", "c**k", "cocks", "cocksuck", "cocksucked", "c********r",
                "cocksucking", "cocksucks", "cooter", "crap", "cum", "cummer", "cumming", "cums",
                "cumshot", "cunilingus", "cunillingus", "cunnilingus", "c**t", "cuntlick",
                "cuntlicker", "cuntlicking", "cunts", "cyberfuc", "cyberfuck", "cyberfucked",
                "cyberfucker", "cyberfuckers", "cyberfucking", "damn", "dick", "dike", "d***o",
                "dildos", "dink", "dinks", "dipshit", "dong", "douche bag", "dumbass", "dyke",
                "e*******e", "ejaculated", "ejaculates", "ejaculating", "ejaculatings", "e*********n"
                , "f*g", "fagget", "fagging", "faggit", "f****t", "faggs", "fagot", "fagots", "fags",
                "fart", "farted", "farting", "fartings", "farts", "farty", "fatass", "fatso",
                "felatio", "f******o", "fingerfuck", "fingerfucked", "fingerfucker", "fingerfuckers",
                "fingerfucking", "fingerfucks", "fistfuck", "fistfucked", "fistfucker", "fistfuckers"
                , "fistfucking", "fistfuckings", "fistfucks", "f**k", "f****d", "f****r", "fuckers",
                "f****n", "f*****g", "f******s", "f****e", "f***s", "fuk", "fuks", "furburger",
                "g******g", "gangbanged", "gangbangs", "gaysex", "gazongers", "goddamn", "gonads",
                "gook", "guinne", "hard on", "hardcoresex", "h**o", "hooker", "horniest", "horny",
                "hotsex", "hussy", "jack off", "jackass", "jacking off", "jackoff", "jack-off", "jap"
                , "jerk", "jerk-off", "jism", "j*z", "jizm", "j**z", "kike", "kock", "kondum",
                "kondums", "kraut", "kum", "kummer", "kumming", "kums", "kunilingus", "lesbian",
                "lesbo", "merde", "mick", "mothafuck", "m********a", "mothafuckas", "mothafuckaz",
                "mothafucked", "mothafucker", "mothafuckers", "mothafuckin", "mothafucking",
                "mothafuckings", "mothafucks", "motherfuck", "motherfucked", "m**********r",
                "motherfuckers", "motherfuckin", "motherfucking", "motherfuckings", "motherfucks",
                "muff", "nigger", "niggers", "orgasim", "orgasims", "o****m", "o*****s", "pecker",
                "penis", "phonesex", "phuk", "phuked", "phuking", "phukked", "phukking", "phuks",
                "phuq", "pimp", "piss", "pissed", "pissrr", "pissers", "pisses", "pissin", "pissing",
                "pissoff", "prick", "pricks", "pussies", "pussy", "pussys", "queer", "retard",
                "schlong", "screw", "sheister", "shit", "shited", "shitfull", "shiting", "shitings",
                "shits", "s*****d", "shitter", "shitters", "s******g", "s*******s", "shitty", "slag",
                "sleaze", "s**t", "s***s", "smut", "snatch", "spunk", "twat", "wetback", "w***e",
                "wop"
            };

            if (request.Text.Split(' ').Intersect(badwords).Count() > 0)
            {
                response.ContainsProfanity = true;
            }
            return(response);
        }
Beispiel #2
0
        private static ProfanityFilterResponse CreateProfanityFilterResponseFromXml(string xml)
        {
            var xmlresponse = XDocument.Parse(xml);
            var count       =
                (xmlresponse.Elements("rsp").Select(x => x.Element("found").Value)).FirstOrDefault();
            var expletives = (from x in xmlresponse.Descendants("expletive") select x.Value).ToArray();
            var response   = new ProfanityFilterResponse
            {
                Count             = int.Parse(count),
                Expletives        = expletives,
                Success           = true,
                ContainsProfanity = int.Parse(count) > 0 ? true : false
            };

            response.Result = string.Format("count = {0}; expletives = '{1}'",
                                            response.Count,
                                            string.Join(", ", response.Expletives));
            return(response);
        }
Beispiel #3
0
        public ProfanityFilterResponse ContainsProfanity(ProfanityFilterRequest request)
        {
            ProfanityFilterResponse response;

            try
            {
                var x =
                    _profanityFilterService.Check(request)
                    as string;
                response = CreateProfanityFilterResponseFromXml(x);
            }
            catch (System.Exception e)
            {
                response = new ProfanityFilterResponse {
                    Success = false, Error = e.ToString()
                };
                response.Success = false;
            }
            return(response);
        }