diff --git a/AUTOLOG b/AUTOLOG new file mode 100644 index 0000000..25d8446 --- /dev/null +++ b/AUTOLOG @@ -0,0 +1,4 @@ +/home/lawrence/chatbot +Tue 02 Apr 2024 12:32:08 AM PDT +lawrence +1 diff --git a/admin.txt b/admin.txt new file mode 100644 index 0000000..e69de29 diff --git a/catlist.txt b/catlist.txt new file mode 100644 index 0000000..a05cf77 --- /dev/null +++ b/catlist.txt @@ -0,0 +1,540 @@ +6992 lolicon +3755 sole female +3687 sole male +2647 stockings +2276 schoolgirl uniform +2092 group +2020 nakadashi +1871 glasses +1856 incest +1723 anal +1597 blowjob +1448 sister +1350 mosaic censorship +1201 defloration +1190 shotacon +1105 multi-work series +1064 anthology +1045 full color +997 rape +984 x-ray +976 twintails +867 swimsuit +867 dark skin +837 ffm threesome +836 dilf +728 bondage +712 bbm +688 sex toys +642 tanlines +638 ahegao +616 teacher +613 double penetration +611 bikini +586 impregnation +534 kemonomimi +504 pantyhose +502 ponytail +501 footjob +489 femdom +481 catgirl +466 tankoubon +451 yuri +436 yaoi +421 collar +398 prostitution +388 unusual pupils +361 maid +355 males only +354 mmf threesome +352 mind control +343 demon girl +341 school swimsuit +338 masturbation +330 oppai loli +329 urination +322 crossdressing +320 uncensored +319 daughter +318 randoseru +318 handjob +316 netorare +296 condom +283 full censorship +282 schoolboy uniform +281 big breasts +273 small breasts +271 tail +267 futanari +265 drugs +263 mind break +261 harem +260 tomgirl +260 exhibitionism +260 big penis +258 kimono +253 sleeping +243 females only +240 sweating +239 lingerie +237 filming +226 fingering +222 tentacles +222 cunnilingus +219 bloomers +218 pregnant +215 elf +214 stomach deformation +207 deepthroat +206 tomboy +192 garter belt +185 bunny girl +183 horns +181 virginity +175 blindfold +169 paizuri +169 inseki +166 kissing +154 bike shorts +152 muscle +151 blackmail +149 cheating +144 story arc +142 sundress +142 fox girl +137 beauty mark +131 bald +131 artbook +130 wings +129 gag +124 replaced +120 rimjob +116 cervix penetration +116 bukkake +115 gloves +114 tail plug +110 niece +109 leotard +109 crotch tattoo +108 hotpants +107 gender bender +104 drunk +103 wolf girl +101 monster girl +101 gokkun +101 cheerleader +98 lactation +92 military +87 tutor +87 milf +85 tracksuit +85 magical girl +83 thigh high boots +81 shimapan +80 miniguy +80 miko +79 oni +77 squirting +77 inflation +77 asphyxiation +75 vampire +75 snuff +75 catboy +74 twins +73 slave +72 urethra insertion +72 hair buns +70 apron +68 sumata +68 piss drinking +68 "null" +67 eyepatch +65 gyaru +65 cosplaying +63 dog girl +61 tribadism +60 unbirth +60 christmas +58 anal intercourse +57 leg lock +57 chikan +56 ghost +55 spanking +55 old man +54 bisexual +53 scat +53 ryona +53 masked face +53 human pet +53 hidden sex +53 business suit +52 smegma +52 shibari +52 monster +52 hairy +52 chloroform +51 soushuuhen +49 scanmark +49 no penetration +49 already uploaded +48 orgasm denial +46 possession +46 incomplete +46 facesitting +45 piercing +45 blood +44 nurse +44 foot licking +42 manga +42 inverted nipples +42 enema +42 bestiality +41 cousin +41 chinese dress +41 birth +40 voyeurism +40 nun +40 age regression +39 leash +39 facial hair +39 dickgirl on dickgirl +39 amputee +38 onahole +38 demon +38 bodysuit +36 ball sucking +35 prostate massage +34 very long hair +34 smell +34 diaper +33 vomit +33 tiara +33 shrinking +32 guro +32 giantess +31 tickling +31 dick growth +31 corruption +30 vore +30 solo action +30 doujinshi +29 pegging +29 mermaid +29 kiyomiya ryou +28 waitress +28 triple penetration +28 strap-on king +28 mother +27 humiliation +27 coach +27 cbt +26 chastity belt +25 robot +25 lab coat +25 dougi +25 angel +24 thick eyebrows +24 shimaidon +24 scar +24 emotionless sex +24 domination loss +24 dickgirl on male +24 breast feeding +23 witch +23 vaginal sticker +23 long tongue +23 gothic lolita +23 freckles +23 clothed female nude male +23 bride +23 big ass +23 bbw +22 underwater +22 stuck in wall +22 lizard girl +22 frottage +22 forbidden content +22 focus anal +21 sole dickgirl +21 eyemask +21 double vaginal +21 brother +20 yandere +20 torture +20 oil +20 layer cake +20 josou seme +20 cum swap +20 butler +20 age progression +19 poor grammar +19 hairjob +19 body swap +19 armpit sex +18 huge penis +18 double blowjob +17 wet clothes +17 time stop +17 pantyjob +17 mecha girl +17 large insertions +17 goudoushi +17 cowgirl +17 bdsm +17 bandages +16 takuji +16 swinging +16 sunglasses +16 male on dickgirl +16 invisible +16 focus blowjob +16 dog +16 corset +15 transformation +15 prolapse +15 pasties +15 heterochromia +15 fisting +14 zombie +14 petplay +14 fundoshi +14 eggs +14 cumflation +13 sample +13 public use +13 policewoman +13 nudity only +3 low lolicon +13 insect +13 gymshorts +13 gyaru-oh +13 compilation +13 bandaid +12 unusual teeth +12 tall girl +12 shared senses +12 pixie cut +12 oyakodon +12 non-h +12 latex +12 fishnets +12 feminization +11 tall man +11 school gym uniform +11 saliva +11 raccoon girl +11 machine +11 drill hair +10 tailjob +10 shemale +10 selfcest +10 mesuiki +10 all the way through +9 vtuber +9 stewardess +9 slime +9 phimosis +9 parasite +9 minigirl +9 low shotacon +9 handicapped +9 gaping +9 double anal +9 clothed male nude female +9 brain fuck +9 armpit licking +8 watermarked +8 pig man +8 pig +8 multiple penises +8 mtf threesome +8 menstruation +8 grandmother +8 eye-covering bang +8 bunny boy +8 breast expansion +8 blind +7 worm +7 tights +7 smoking +7 pirate +7 out of order +7 nijisanji +7 metal armor +7 low bestiality +7 kunoichi +7 huge breasts +7 father +7 fairy +7 clothed paizuri +7 autofellatio +6 ziggurat +6 kindergarten uniform +6 hood +6 granddaughter +6 glory hole +6 dragon +6 dark sclera +6 clone +6 cannibalism +6 aunt +6 assjob +6 anal birth +5 wolf boy +5 uzuki kou +5 ttm threesome +5 ttf threesome +5 squirrel girl +5 squid girl +5 snake girl +5 small penis +5 omorashi +5 multimouth blowjob +5 mouse girl +5 horse girl +5 ear fuck +5 dickgirls only +5 crown +5 body writing +5 blowjob face +4 uncle +4 syringe +4 speculum +4 mouth mask +4 forced exposure +4 clamp +4 catfight +4 body painting +4 body modification +4 big nipples +4 big lips +4 big clit +4 anorexic +4 aji ponntarou +4 abortion +3 wrestling +3 wormhole +3 widow +3 whip +3 stirrup legwear +3 soredemo ayumu wa yosetekuru +3 slime girl +3 shaved head +3 scrotal lingerie +3 redraw +3 pillory +3 phone sex +3 multiple paizuri +3 monkey +3 missing cover +3 milk tissue girl +3 large tattoo +3 infantilism +3 imageset +3 horse cock +3 horse +3 harpy +3 gorilla +3 goblin +3 full body tattoo +3 first person perspective +3 farting +3 cuntboy +3 big balls +3 analphagia +2 widower +2 tuna empire +2 table masturbation +2 spider girl +2 sarashi +2 rough grammar +2 priest +2 nose hook +2 nipple fuck +2 multiple orgasms +2 multipanel sequence +2 melonbooks +2 makeup +2 leonard 16 sei +2 konechi +2 insect girl +2 human cattle +2 harness +2 gender change +2 furry +2 forniphilia +2 fff threesome +2 exposed clothing +2 dog boy +2 doctor +2 cum in eye +2 cum bath +2 coprophagia +2 closed eyes +2 bodystocking +2 artistcg +2 alien +2 absorption +2 "" +1 wooden horse +1 weight gain +1 waiter +1 variant set +1 unusual insertions +1 triple vaginal +1 tooth brushing +1 tiger +1 ssbbm +1 sockjob +1 snake +1 skinsuit +1 sketch lines +1 sheep girl +1 seisha ryuso +1 rough translation +1 race queen +1 prehensile hair +1 policeman +1 plant girl +1 oruca +1 orc +1 onanism +1 nude only +1 nishimura hanten +1 nipple expansion +1 mute +1 mottsuo +1 moral degeneration +1 milking +1 midget +1 maruko rondo +1 luini antonio +1 low scat +1 living clothes +1 kugami annin +1 kigurumi pajama +1 kakunini +1 kage mochizuki +1 kaduki todaemon +1 horse boy +1 hiropon +1 headless +1 hairy armpits +1 hair bun +1 fox boy +1 fox +1 foot insertion +1 fantia +1 electric shocks +1 defaced +1 dark nipples +1 dalton +1 cockslapping +1 cock ring +1 chino +1 centaur +1 bujidearu +1 big areolae +1 arekishi raiho +1 animated +1 alien girl diff --git a/chatbot.db b/chatbot.db new file mode 100644 index 0000000..116d4cf Binary files /dev/null and b/chatbot.db differ diff --git a/cornell_movie_dialogs_corpus.zip b/cornell_movie_dialogs_corpus.zip new file mode 100644 index 0000000..968aac7 Binary files /dev/null and b/cornell_movie_dialogs_corpus.zip differ diff --git a/dialoggptBot.py b/dialoggptBot.py index 07a28f4..ea2c11d 100644 --- a/dialoggptBot.py +++ b/dialoggptBot.py @@ -5,53 +5,337 @@ import subprocess import time import asyncio import os -#from threading import Timer +import re +from unidecode import unidecode +import sqlite3 +import random +def cleanString(mystr): + mystr3 = unidecode(mystr) + mystr2 = ''.join(letter for letter in mystr3 if (letter.isalnum() or letter==' ')) + return ' '+mystr2+' ' async def delMsg(msg): - await asyncio.sleep(10) + await asyncio.sleep(1) await msg.delete() - -###config stuff +#config stuff load_dotenv() debug=False client = discord.Client() +""" ##init model tokenizer, model = load_tokenizer_and_model() print("Model Loaded") ###init chatbot_history #lazy way rn, may change latter to record and load back chat_histories={} - +""" serious_channels = [974553346591576105,927849858025529474, 972963507916128297] +con = sqlite3.connect("chatbot.db") +cur = con.cursor() +haram_users = [] + +admin = [757788221877911613] + +sexWords = [] + +haramUser = [] +haramTwo = [] + +lastHaram = 0 + +f = open("haramwords.txt", "r") +for x in f: + sexWords.append(x.replace("\n", "")) +f.close() + +f = open("haramuser.txt", "r") +for x in f: + haramUser.append(x.replace("\n", "")) +f.close() + +f = open("haramtwo.txt", "r") +for x in f: + haramTwo.append(x.replace("\n", "")) +f.close() +sexRegex = [] + +f = open("haramregex.txt", "r") +for x in f: + sexRegex.append(x.replace("\n", "")) +f.close() + +sisRegex = [] + +f = open("haramsis.txt", "r") +for x in f: + sisRegex.append(x.replace("\n", "")) +f.close() + + +f = open("catlist.txt", "r") +lines = f.readlines() + +def dellast(filename): + with open(filename, "r+", encoding = "utf-8") as file: + file.seek(0, os.SEEK_END) + pos = file.tell() - 1 + while pos > 0 and file.read(1) != "\n": + pos -= 1 + file.seek(pos, os.SEEK_SET) + if pos > 0: + file.seek(pos, os.SEEK_SET) + file.truncate() +async def getUsername(userid): + res = cur.execute(f"SELECT username FROM totals WHERE id={userid}").fetchone() + if (res is None or res[0] is None or res[0]==""): + try: + user = await client.fetch_user(userid) + except: + #user doesn't exist + return None + + if (res is None): + cur.execute(f"INSERT INTO totals VALUES({userid}, 0,\"{user.name}\")") + else: + cur.execute(f"UPDATE totals SET username=\"{user.name}\" WHERE id={userid}") + con.commit() + return user.name + else: + return res[0] + +def increment(userid, word): + res = cur.execute(f"SELECT count FROM totals WHERE id={userid}").fetchone() + if (res is None): + cur.execute(f"""INSERT INTO totals + VALUES ({userid}, 1, "", ?)""", (word,)) + else: + cur.execute(f"UPDATE totals SET count={res[0]+1}, lastharam = ? WHERE id={userid}", (word,)) + con.commit() + @client.event async def on_ready(): print('We have logged in as {0.user}'.format(client)) @client.event -async def on_message(message): - print(chat_histories) +async def addItem(message, wordlist, wordfile,lastid): + global lastHaram + if (not "\"" in message.content.lower()): + await message.reply("Wrong syntax - word must be in quotes") + return + word = message.content.lower().split("\"")[1] + if (word in wordlist or (word+" ") in wordlist or (" "+word) in wordlist or (" "+word+" ") in wordlist): + await message.reply("Already in DB") + return + else: + wordlist.append(word) + f=open(wordfile, "a") + f.write(word+"\n") + f.close() + lastHaram = lastid + await message.reply("Added: \""+word+"\"") +@client.event +async def on_message(message): + global lastHaram + #print(chat_histories) + if (message.author.id in admin and message.content.lower()[:9] == "!haramadd"): + await addItem(message, sexWords, "haramwords.txt", 0) + return + if (message.author.id in admin and message.content.lower()[:9] == "!haramreg"): + await addItem(message, sexRegex, "haramregex.txt", 1) + return + if (message.content == "!haramnum"): + await message.reply("Haram list: "+str(len(sexWords))+", Haram regex: "+str(len(sexRegex))+ ", Haram sis: "+str(len(sisRegex))) + return + if (message.author.id in admin and message.content.lower()[:9] == "!haramsis"): + await addItem(message, sisRegex, "haramsis.txt", 2) + return + if (message.author.id in admin and message.content.lower()[:9] == "!haramusr"): + await addItem(message, haramUser, "haramuser.txt", 3) + return + if (message.author.id in admin and message.content.lower()[:9] == "!haramtwo"): + await addItem(message, haramTwo, "haramtwo.txt", 4) + return + if (message.content.lower()[:10] == "!haramrand"): + await message.reply(random.choice(lines)) + return + if(message.author.id in admin and message.content.lower() == "!haramdel"): + if (lastHaram == 0): + dellast("haramwords.txt") + await message.reply("Deleted: "+sexWords.pop()) + if (lastHaram == 1): + dellast("haramreg.txt") + await message.reply("Deleted: "+sexRegex.pop()) + if (lastHaram == 2): + dellast("haramsis.txt") + await message.reply("Deleted: "+sisRegex.pop()) + if (lastHaram == 3): + dellast("haramuser.txt") + await message.reply("Deleted: "+haramUser.pop()) + if (lastHaram == 4): + dellast("haramtwo.txt") + await message.reply("Deleted: "+haramTwo.pop()) + return + if (message.content.lower()[:10] == "!haramlist"): + if (not "\"" in message.content.lower()): + msg = await message.reply("Bad syntax, no quotes") + await asyncio.sleep(3) + await msg.delete() + return + word = message.content.lower().split("\"")[1] + if (not "," in word): + msg = await message.reply("Bad syntax, expected list number + comma + start index") + await asyncio.sleep(3) + await msg.delete() + return + list_num = word.split(",")[0].strip() + list_ind = word.split(",")[1].strip() + if not(list_num.isdigit() and list_ind.isdigit()): + msg = await message.reply("Not integers") + await asyncio.sleep(3) + await msg.delete() + return + list_num = int(list_num) + list_ind = int(list_ind) + titles = ["Haram words", "Haram regex", "Haram sis"] + if (list_num < 0 or list_num > 2): + msg = await message.reply ("Bad list") + await asyncio.sleep(3) + await msg.delete() + return + reply = "Here is a list of "+str(titles[list_num]) + " starting from "+str(list_ind)+":\n" + msg = 0 + if (list_num == 0): + for i in range(list_ind, list_ind + 10): + if (i<0 or i >= len(sexWords)): + continue + reply += str(i)+". \""+sexWords[i]+"\"\n" + msg = await message.reply(reply) + elif (list_num == 1): + for i in range(list_ind, list_ind + 10): + if (i<0 or i >= len(sexRegex)): + continue + reply += str(i)+". \""+sexRegex[i]+"\"\n" + msg = await message.reply(reply) + elif (list_num == 2): + for i in range(list_ind, list_ind + 10): + if (i<0 or i >= len(sisRegex)): + continue + reply += str(i)+". \""+sisRegex[i]+"\"\n" + msg = await message.reply(reply) + else: + msg = await message.reply("Bad list") + await asyncio.sleep(3) + await msg.delete() + return + if (message.content.lower()[:11] == "!haramcount"): + m = message.content + i = str(message.author.id) + if ("\"" in m): + i = m.split("\"")[1] + if i.isdigit(): + res = cur.execute(f"SELECT count FROM totals WHERE id={i}").fetchone() + total = 0 + if not(res is None): + total = res[0] + usern = await getUsername(i) + if (usern is None): + await message.reply("Invalid ID") + return + await message.reply(f"User {usern} has said {total} haram things") + return + await message.reply("Syntax Error, put user ID in quotes") + if (message.content.lower()[:10] == "!haramlast"): + m = message.content + i = str(message.author.id) + if ("\"" in m): + i = m.split("\"")[1] + if i.isdigit(): + res = cur.execute(f"SELECT lastharam FROM totals WHERE id={i}").fetchone() + lh = "" + if not(res is None): + lh = res[0] + usern = await getUsername(i) + if (usern is None): + await message.reply("Invalid ID") + return + await message.reply(f"User {usern} has last said: {lh}") + return + await message.reply("Syntax Error, put user ID in quotes") + + if (message.content == "!haramtop"): + res = cur.execute("SELECT id, count FROM totals ORDER BY count DESC LIMIT 10").fetchall() + msg = "Most haram users:\n" + for i in res: + user = await getUsername(i[0]) + if (user is None): + continue + msg = msg + f"{user}: {i[1]} harams\n" + await message.reply(msg) author = message.author.id + cleanedStr = cleanString(message.content.lower()) #stop it from fucking around if it looking at its own message if message.author == client.user: return if (message.channel.id in serious_channels): return #1984 feature could be added here ;) + for word in sexWords: + if (word in message.content.lower() or word in cleanedStr): + msg = await message.reply("<:gogetmarried:1204950895217999984>") + increment(message.author.id, word) + await asyncio.sleep(3) + await msg.delete() + return + for reg in sexRegex: + if (re.search(reg," "+ message.content.lower()+" ") or message.author.id in haram_users): + msg = await message.reply("<:gogetmarried:1204950895217999984>") + increment(message.author.id, "Regex: "+reg) + await asyncio.sleep(3) + await msg.delete() + return + for reg in sisRegex: + if (re.search(" sis.*"+reg," "+ message.content.lower()+" ") or re.search(reg+".* sis", " "+message.content.lower()+" ")): + msg = await message.reply("<:gogetmarried:1204950895217999984>") + increment(message.author.id, "Sis: "+reg) + await asyncio.sleep(3) + await msg.delete() + return + if (str(message.author.id) in haramUser): + for reg in haramTwo: + if (re.search(reg," "+message.content.lower()+" ")): + increment(message.author.id, "Haram2: "+reg) + msg = await message.reply("<:gogetmarried:1204950895217999984>") + await asyncio.sleep(3) + await msg.delete() + return + if (message.content.lower() == "go get married"): + await message.reply("<:halal:1204949791717457940>") + return if ("pipi" in message.content.lower()): msg = await message.channel.send("""Are you kidding ??? What the \\*\\*\\*\\* are you talking about man ? You are a biggest looser i ever seen in my life ! You was doing PIPI in your pampers when i was beating players much more stronger then you! You are not proffesional, because proffesionals knew how to lose and congratulate opponents, you are like a girl crying after i beat you! Be brave, be honest to yourself and stop this trush talkings!!! Everybody know that i am very good blitz player, i can win anyone in the world in single game! And \"w\"esley \"s\"o is nobody for me, just a player who are crying every single time when loosing, ( remember what you say about Firouzja ) !!! Stop playing with my name, i deserve to have a good name during whole my chess carrier, I am Officially inviting you to OTB blitz match with the Prize fund! Both of us will invest 5000$ and winner takes it all! I suggest all other people who's intrested in this situation, just take a look at my results in 2016 and 2017 Blitz World championships, and that should be enough... No need to listen for every crying babe, Tigran Petrosyan is always play Fair ! And if someone will continue Officially talk about me like that, we will meet in Court! God bless with true! True will never die ! Liers will kicked off...""") - await asyncio.sleep(10) + await asyncio.sleep(0.5) await msg.delete() return - if ("fortune" in message.content.lower() and message.channel.id == 912240638664257555): - fort = subprocess.run(["fortune"], stdout=subprocess.PIPE, text=True) - await message.channel.send(fort.stdout) + if ("alpine" in message.content.lower()): + msg = await message.channel.send('''"I use Linux as my operating system," I state proudly to the unkempt, bearded man. He swivels around in his desk chair with a devilish gleam in his eyes, ready to mansplain with extreme precision. "Actually", he says with a grin, "Linux is just the kernel. You use GNU+Linux!' I don\'t miss a beat and reply with a smirk, "I use Alpine, a distro that doesn\'t include the GNU coreutils, or any other GNU code. It\'s Linux, but it\'s not GNU+Linux." The smile quickly drops from the man\'s face. His body begins convulsing and he foams at the mouth and drops to the floor with a sickly thud. As he writhes around he screams "I-IT WAS COMPILED WITH GCC! THAT MEANS IT\'S STILL GNU!" Coolly, I reply "If windows was compiled with gcc, would that make it GNU?" I interrupt his response with "-and work is being made on the kernel to make it more compiler-agnostic. Even you were correct, you won\'t be for long." With a sickly wheeze, the last of the man\'s life is ejected from his body. He lies on the floor, cold and limp. I\'ve womansplained him to death.''') + await asyncio.sleep(0.5) + await msg.delete() + return + if ("fortune" in message.content.lower()): + fort = subprocess.run(["fortune" , "-a"], stdout=subprocess.PIPE, text=True) + await message.channel.send("```\n"+fort.stdout+"```") + return + if ("asciiart" in message.content.lower()): + fort = subprocess.run(["fortune", "mario.arteascii"], stdout=subprocess.PIPE, text=True) + #cow = subprocess.run(["cowthink", "-n"], stdin=fort.stdout, stdout=subprocess.PIPE, text=True) + await message.channel.send("```\n"+fort.stdout.replace("`", "\'")+"```") return # rms copypasta if ("linux" in message.content.lower() and "gnu/linux" not in message.content.lower() and "gnu+linux" not in message.content.lower() and "ucla.edu" not in message.content.lower()): @@ -86,7 +370,7 @@ There really is a Linux, and these people are using it, but it is just a part of if not message.content.startswith('!chatbot'): #if it isn't stop (return) return - +""" #get string message_string=message.content[9:].lower() #actually important message things @@ -112,5 +396,5 @@ There really is a Linux, and these people are using it, but it is just a part of chat_histories[author],message_string) await message.channel.send(chatbotOutput) - +""" client.run(os.environ.get('TOKEN')) diff --git a/haram_bak1.txt b/haram_bak1.txt new file mode 100644 index 0000000..2004bda --- /dev/null +++ b/haram_bak1.txt @@ -0,0 +1,302 @@ + pussy + cunt + twat + sex + gay + erect + masturb + cbt + cock + penis + cunny + incest + vagina + anus + cum + ejaculat + jack off + jerk off + coom + porn + hentai + shota + doujin + boob + breast + tits + titties + titty + anal + horny + nakadashi + creampie + ass + pron + loli + lesbian + cervix + dick + peg + dildo + butt plug + vibrator + cute and funny + bdsm + uoh + crotch + dtf + twink + tomboy + tomgirl + scat + philia + willy + masochis + sadis + mindbreak + aheago + strap on + strap-on + strapon + tranny + bosom + flat chest + nipple + squirt + milf + hard + dilf + golden shower + boykisser + boysmell + fellatio + bj + blowjob + oral + finger + jizz + sticky white + sticky, white + orgasm + bussy + cuddle + spooning + clitoris + g-spot + gspot + g spot + monkeyspank + spanking the monkey + spank the monkey + beating my meat + beat off + bashing the bishop + beat my meat + bash the bishop + one eyed snake + oneeyed snake + one-eyed snake + mesugaki + osugaki + ballsack + hypnosis + sissy + shag + intercourse + fuck + make love + making love + go to down + went to town + eromanga + bukkake + eroge + yukikaze + hookup + hook up + fornicat + lewd + 💢 + 😭 + rape + lascivious + underage + correction need + correction is need + need correct + flat-chest + mommy + daddy + lolita + erotic + belly and chest + chest and belly + get off + got off + nut + libido + lust + unchaste + 🍆 + 🍑 + 💦 + feet + footjob + pomf + marewife + anime + seggs + ya0i + yaoi + boybortion + pregante + pregarnat + preggers + milker + puci + condom + cuck + netorare + cheating + ntr + 69 + slept with + sleep with + got laid + virgin + fondl + intercourse + blue ball + contraceptive + prostitute + hooker + thot + egirl + e girl + e-girl + onlyfans + stripper + booty + std + sti + threesome + orgy + voyeur + bestial + stripping + hickey + french kiss + frenchkiss + boner + ho + hoe + bitch + kink + smut + furr + edg + goon + jelq + white sticky + white, sticky + cp +do my sis +spread her leg +peenus +fetish +bareback + bbc + cooch +glory hole + wank +netflix and chill +quickie +slut +rusty trombone +teabagg +soaking +balls +give head +suck off +deflorat +yiff +blumpkin +frot +sounding +double penetrat +inseminat +impregnat +handjob +femdom +scrotum +penile + yuri +prostitut +woody +wet dream + futa +back shots +trap +harem +shenis +clit +deepthroat +paizuri +rimjob +camel toe +cameltoe +gokkun +lactat +urethra +facesit +onahole +vulva + teat +estrus +zoophil +whore +thrust +throb +horni +genital +phall +dominatrix +submissive +breedable +imouto +blacked +brazzer +mindgeek +brony +creaming +rule 34 +bangbros +redtube +xhamster +xvideo +butch +femme +bimbo +dommy +jailbait +molest + grop +deflower +degown +undress +derobe +disrobe +disrob +derob +chok +fisting +doggy + arous +intima + boni +coitus + fap +busty +lingerie +panties +penetrat diff --git a/haram_bak2.txt b/haram_bak2.txt new file mode 100644 index 0000000..12272cd --- /dev/null +++ b/haram_bak2.txt @@ -0,0 +1,11 @@ +u+o+h +lick.*kitt +kitt.*lick + [a@][s\$][s\$] + fu?[ck ]*bo[yi] +clap.* cheek +well.?endowed +c[ao]m[e(ing)].?in +coming.?in +c[ao]m(e|ing) .* (in|on|over |everywhere) +ben(t|d|ding) over diff --git a/haram_bak3.txt b/haram_bak3.txt new file mode 100644 index 0000000..a2e663a --- /dev/null +++ b/haram_bak3.txt @@ -0,0 +1,39 @@ +pound +bang +spread +hot +wet +procreat +blow +touch +caress +fondle +kiss +breed +curve +supple +tight +curvy +nubile +naughty +stroke +snuggl +choke +straddle +straddl +meat +bust +suck +tongue +tongui +cuddl +manhandl +feel +smell +cloth +freak +correct +penetrate +breach +pentest +spank diff --git a/haramregex.txt b/haramregex.txt new file mode 100644 index 0000000..4166d5c --- /dev/null +++ b/haramregex.txt @@ -0,0 +1,14 @@ +u+o+h +lick.*kitt +kitt.*lick + [a@][s\$][s\$] + fu?[ck ]*bo[yi] +clap.* cheek +well.?endowed +c[ao]m[e(ing)].?in +coming.?in +c[ao]m(e|ing) .* (in|on|over |everywhere) +ben(t|d|ding) over + (s|5)(e|3)x + tit[stiy] +rule.?34 diff --git a/haramsis.txt b/haramsis.txt new file mode 100644 index 0000000..9873136 --- /dev/null +++ b/haramsis.txt @@ -0,0 +1,41 @@ +pound +bang +spread +hot +wet +procreat +blow +touch +caress +fondle +kiss +breed +curve +supple +tight +curvy +nubile +naughty +stroke +snuggl +choke +straddle +straddl +meat +bust +suck +tongue +tongui +cuddl +manhandl +feel +smell +cloth +freak +correct +penetrate +breach +pentest +spank +inside +private diff --git a/haramtwo.txt b/haramtwo.txt new file mode 100644 index 0000000..7eaaff4 --- /dev/null +++ b/haramtwo.txt @@ -0,0 +1,2 @@ + sis + hardsibling”siblingtease \ No newline at end of file diff --git a/haramuser.txt b/haramuser.txt new file mode 100644 index 0000000..48ef330 --- /dev/null +++ b/haramuser.txt @@ -0,0 +1,3 @@ +487785744652566539 +615065360961372160 +166762831713271817449983218788204569449983218788204569 diff --git a/haramwords.txt b/haramwords.txt new file mode 100644 index 0000000..5efe82a --- /dev/null +++ b/haramwords.txt @@ -0,0 +1,324 @@ +pussy +cunt +twat +sex +gay +erect +masturb +cbt +cock +penis +cunny +incest +vagina +anus + cum +ejaculat +jack off +jerk off +coom +porn +hentai +shota +doujin +boob +breast + anal +horny +nakadashi +creampie + ass +pron +loli +lesbian +cervix +dick + peg +dildo +butt plug +vibrator +cute and funny +bdsm + uoh +crotch + dtf +twink +tomboy +tomgirl + scat +philia +willy +masochis +sadis +mindbreak +aheago +strap on +strap-on +strapon +tranny +bosom +flat chest +nipple +squirt +milf +dilf +golden shower +boykisser +boysmell +fellatio + bj +blowjob + oral +finger +jizz +sticky white +sticky, white +orgasm +bussy +cuddle +spooning +clitoris +g-spot +gspot +g spot +monkeyspank +spanking the monkey +spank the monkey +beating my meat +beat off +bashing the bishop +beat my meat +bash the bishop +one eyed snake +oneeyed snake +one-eyed snake +mesugaki +osugaki +ballsack +hypnosis +sissy +shag +intercourse +fuck +make love +making love +go to town +went to town +eromanga +bukkake +eroge +yukikaze +hookup +hook up +fornicat +lewd +💢 +😭 + rape +lascivious +underage +correction need +correction is need +need correct +flat-chest +mommy +daddy +lolita +erotic +belly and chest +chest and belly +get off +got off + nut +libido + lust +unchaste +🍆 +🍑 +💦 + feet +footjob +pomf +marewife +anime +seggs +ya0i +yaoi +boybortion +pregante +pregarnat +preggers +milker +puci +condom +cuck +netorare +cheating + ntr + 69 +slept with +sleep with +got laid +virgin +fondl +intercourse +blue ball +contraceptive +prostitute +hooker +thot + egirl + e girl + e-girl +onlyfans +stripper +booty + std + sti +threesome +orgy +voyeur +bestial +stripping +hickey +french kiss +frenchkiss +boner + ho + hoe +bitch +kink +smut +furr + edg +goon +jelq +white sticky +white, sticky + cp +do my sis +spread her leg +peenus +fetish +bareback + bbc +cooch +glory hole +wank +netflix and chill +quickie +slut +rusty trombone +teabagg +soaking +balls +give head +suck off +deflorat +yiff +blumpkin +frot +sounding +double penetrat +inseminat +impregnat +handjob +femdom +scrotum +penile + yuri +prostitut +woody +wet dream + futa +back shots +trap +harem +shenis +clit +deepthroat +paizuri +rimjob +camel toe +cameltoe +gokkun +lactat +urethra +facesit +onahole +vulva + teat +estrus +zoophil +whore +thrust +throb +horni +genital +phall +dominatrix +submissive +breedable +imouto +blacked +brazzer +mindgeek +brony +creaming +rule 34 +bangbros +redtube +xhamster +xvideo +butch +femme +bimbo +dommy +jailbait +molest + grop +deflower +degown +undress +derobe +disrobe +disrob +derob +chok +fisting +doggy + arous +intima + boni +coitus + fap +busty +lingerie +panties +penetrat + tit +bewb +cheese pizza +predator +strog + bjs +privatesmenstr +copula +tsundere vore +puberty +e621 +e926 +plap +derpybooru +derpibooru +secks + enby + bra +waifu +fursuit +fursona +catboy +boymod +cunnie +cunnilingus +bronie