diff --git a/Code/irc/badwords.txt b/Code/irc/badwords.txt new file mode 100644 index 0000000..714b9d3 --- /dev/null +++ b/Code/irc/badwords.txt @@ -0,0 +1,85 @@ +Note: This list is probably missing a lot of stuff, but I didn't want to just ram 50 random lists from the internet together. Feel free to replace. - ~deltawitch +== Potentially unwelcome words == +racist +racists +racism +sexist +sexists +sexism +xenophobe +xenophobia +== Slurs/Insults == +faggot +faggots +dyke +dykes +chink +chinks +bitch +bitches +bastard +bastards +whore +whores +== Violence/Sexual == +rape +rapes +raping +rapist +rapists +grope +gropes +semen +bestiality +incest +sadism +domination +sodomy +fingering +pegging +bondage +bareback +humping +sex +sexy +anal +anus +anuses +genitals +vagina +vaginas +clitoris +pussy +pussies +penis +penises +cock +cocks +ass +asses +butt +butts +tit +tits +breast +breasts +cumming +ejaculation +orgasm +orgy +erotic +intercourse +kinky +nipple +nipples +panty +panties +pornography +prostitute +prostitutes +prostitution +rectum +rimming +smut +spunk +undressing diff --git a/Code/irc/dict_puzzle.py b/Code/irc/dict_puzzle.py index fb38163..1185d50 100644 --- a/Code/irc/dict_puzzle.py +++ b/Code/irc/dict_puzzle.py @@ -4,9 +4,19 @@ import inflect p = inflect.engine() dictionary = "/usr/share/dict/american-english-small" +BAD_WORDS_FILE = "badwords.txt" + +def get_wordlist(): + # I feel weird calling this "get_wordlist" when it's a generator without calling out that I do in fact realise it's weird - ~deltawitch + with open(BAD_WORDS_FILE, "r") as fp: + bad_words = set(fp) + + for word in open(dictionary).readlines(): + if "'" not in word and word not in bad_words: + yield word.rstrip() def get_puzzle(): - dict_words = [word.rstrip() for word in open(dictionary).readlines() if "'" not in word] + dict_words = list(get_wordlist()) words = random.sample(dict_words, 3) key = random.randrange(0,3) #get values 1-3 puzzle = "When alphebetized, what is the " + p.ordinal(p.number_to_words(key+1)) + " in " + ", ".join(words) @@ -15,7 +25,7 @@ def get_puzzle(): return [answer, puzzle] def get_anagram(maxlen = 6): - dict_words = [word.rstrip() for word in open(dictionary).readlines() if "'" not in word and len(word) > 2 and len(word) <= maxlen+1] + dict_words = [word for word in get_wordlist() if len(word) > 2 and len(word) <= maxlen+1] word = random.choice(dict_words) while True: anagram = ''.join(random.sample(word, len(word)))