├── 1.0版本 ├── 操作.py ├── 样式.py ├── 槽.py ├── 运行.pyw ├── 骂人字典.txt └── 骂人用的.py ├── 1.1版本 ├── 操作.py ├── 样式.py ├── 槽.py ├── 运行.pyw ├── 骂人字典.txt └── 骂人用的.py └── README.md /1.0版本/操作.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from time import sleep 3 | from PyQt5.QtWidgets import QApplication,QMessageBox 4 | from 骂人用的 import Fuck 5 | from pynput.keyboard import Key,Controller#键盘操作 6 | from pyperclip import copy#剪切板操作 7 | class Loop: 8 | def __init__(self,flag,time,queue,type=None,dirs=None): 9 | self.flag=flag 10 | self.dirs=dirs 11 | self.time=time 12 | self.queue=queue 13 | self.fuck=Fuck(type) 14 | self.k=Controller() 15 | def run(self): 16 | while True: 17 | if self.queue.empty()==False: 18 | return 19 | if self.flag=='网站': 20 | try: 21 | str=self.fuck.run() 22 | except Exception: 23 | return 24 | self.out(str) 25 | sleep(self.time) 26 | elif self.flag=='字典': 27 | self.loop() 28 | 29 | def loop(self):#字典 30 | for one in self.dirs: 31 | self.out(one) 32 | sleep(self.time) 33 | 34 | def out(self,str): 35 | copy(str) 36 | self.ctrl_v_enter() 37 | 38 | def ctrl_v_enter(self): 39 | with self.k.pressed(Key.ctrl): 40 | self.k.press('v') 41 | self.k.release('v') 42 | self.k.press(Key.enter) 43 | self.k.release(Key.enter) -------------------------------------------------------------------------------- /1.0版本/样式.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from PyQt5.QtWidgets import QMainWindow,QDesktopWidget,QPushButton,QVBoxLayout,QHBoxLayout,QWidget,QRadioButton,QButtonGroup,QLabel 3 | from PyQt5.QtCore import Qt 4 | 5 | class MainWindow_style(QMainWindow): 6 | def __init__(self): 7 | super().__init__() 8 | self.setWindowTitle('宇宙骂人小工具') 9 | self.center() 10 | self.resize(400,200) 11 | self.show_btn() 12 | # self.statusBar()#显示状态栏 13 | def center(self):#设置窗口居中 14 | box=self.frameGeometry()#获取当前盒子的信息 15 | window_center=QDesktopWidget().availableGeometry().center() 16 | box.moveCenter(window_center) 17 | self.move(box.topLeft()) 18 | def show_btn(self):#设置按钮 19 | self.btn1=QPushButton('设置字典')#设置字典 20 | self.btn2=QPushButton('设置发送速度')#设置发送速度 21 | self.btn3=QRadioButton('网站')#设置发送源 22 | self.btn4=QRadioButton('字典')#设置发送源 23 | self.btn5=QPushButton('发送')#开始发送 24 | self.btn6=QPushButton('骂人') 25 | hbox=QHBoxLayout() 26 | hbox1=QHBoxLayout() 27 | hbox2=QHBoxLayout() 28 | vbox1=QVBoxLayout() 29 | vbox2=QVBoxLayout() 30 | 31 | vbox1.addWidget(self.btn1) 32 | vbox1.addWidget(self.btn2) 33 | 34 | hbox1.addWidget(self.btn3) 35 | self.btn3.setChecked(True)#设置默认选中 36 | hbox1.addWidget(self.btn4) 37 | self.btn4.setEnabled(False)#设置无法选择 38 | vbox2.addLayout(hbox1) 39 | 40 | hbox2.addWidget(QLabel('当前状态:')) 41 | hbox2.addWidget(self.btn6) 42 | vbox2.addLayout(hbox2) 43 | 44 | vbox2.addWidget(self.btn5) 45 | hbox.addLayout(vbox1) 46 | hbox.addStretch()#设置中间的占位控件 47 | hbox.addLayout(vbox2) 48 | hbox.setContentsMargins(50,0,50,0)#设置hbox控件的外边距 左上右下 49 | center_window=QWidget() 50 | center_window.setLayout(hbox) 51 | self.setCentralWidget(center_window) 52 | 53 | class SetTimeWindow_style(QWidget): 54 | def __init__(self): 55 | super().__init__() 56 | self.center() 57 | self.btn=[] 58 | self.btn.append(QRadioButton("0.1s")) 59 | self.btn.append(QRadioButton("0.5s")) 60 | self.btn.append(QRadioButton("1s")) 61 | self.btn.append(QRadioButton("2s")) 62 | vbox=QVBoxLayout() 63 | vbox.addWidget(self.btn[0]) 64 | self.btn[0].setChecked(True) 65 | vbox.addWidget(self.btn[1]) 66 | vbox.addWidget(self.btn[2]) 67 | vbox.addWidget(self.btn[3]) 68 | self.setLayout(vbox) 69 | self.setWindowTitle('选择发送间隔') 70 | self.setWindowFlags(Qt.WindowTitleHint|Qt.WindowCloseButtonHint|Qt.WindowStaysOnTopHint) 71 | self.resize(200,120) 72 | self.show() 73 | def center(self):#设置窗口居中 74 | box=self.frameGeometry()#获取当前盒子的信息 75 | window_center=QDesktopWidget().availableGeometry().center() 76 | box.moveCenter(window_center) 77 | self.move(box.topLeft()) -------------------------------------------------------------------------------- /1.0版本/槽.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from time import sleep 3 | from 样式 import MainWindow_style,SetTimeWindow_style 4 | from 操作 import Loop 5 | from PyQt5.QtWidgets import QFileDialog,QWidget,QMessageBox 6 | from queue import Queue 7 | from threading import Thread 8 | class MainWindow(MainWindow_style): 9 | def __init__(self): 10 | super().__init__() 11 | self.connect() 12 | self.init() 13 | self.show() 14 | 15 | def init(self):#初始化参数 16 | self.dirs=None#字典 17 | self.time=0.1#时间间隔 18 | self.timewindow=None 19 | self.loop=None 20 | self.thread=None 21 | self.queue=Queue() 22 | def connect(self):#连接槽 23 | self.btn1.clicked.connect(self.open_file) 24 | self.btn2.clicked.connect(self.setTime) 25 | self.btn3.clicked.connect(self.setType) 26 | self.btn4.clicked.connect(self.setType1) 27 | self.btn5.clicked.connect(self.run) 28 | self.btn6.clicked.connect(self.change) 29 | 30 | #以下为槽函数 31 | def open_file(self): 32 | filepath,filetype=QFileDialog.getOpenFileName(self,'选择字典',sys.path[0],"文本文件(*.txt);;所有文件(*)") 33 | if filepath: 34 | with open(filepath,'r',encoding='utf8') as f: 35 | self.dirs=f.read().split('\n') 36 | self.btn4.setEnabled(True)#设置可使用字典发送 37 | 38 | def setTime(self): 39 | self.timewindow=SetTimeWindow(self) 40 | 41 | def setType(self): 42 | self.btn6.setText('骂人') 43 | def setType1(self): 44 | self.btn6.setText('字典发送') 45 | 46 | def run(self): 47 | if self.btn5.text()=='发送': 48 | self.btn5.setText('停止') 49 | while self.queue.empty()==False: 50 | self.queue.get() 51 | self.btn6.setEnabled(False) 52 | if self.btn3.isChecked():#网站发送 53 | self.loop=Loop('网站',self.time,self.queue,self.btn6.text(),self.dirs) 54 | else: 55 | self.loop=Loop('字典',self.time,self.queue,self.dirs) 56 | self.thread=Thread(target=self.loop.run,name='loop_run',args=()) 57 | self.thread.start() 58 | sleep(1) 59 | if self.thread.is_alive()==False: 60 | QMessageBox.warning(self,'Message','请检查网络连接',QMessageBox.Yes) 61 | self.btn5.setText('发送') 62 | else: 63 | self.btn5.setText('发送') 64 | self.btn6.setEnabled(True) 65 | self.queue.put(1) 66 | 67 | def change(self): 68 | if self.btn6.text()=='骂人': 69 | self.btn6.setText('夸人') 70 | elif self.btn6.text()=='夸人': 71 | self.btn6.setText('骂人') 72 | else: 73 | self.btn6.setText('字典发送') 74 | 75 | def closeEvent(self,event):#重写关闭窗口操作 76 | #关闭子窗口 77 | self.queue.put(1) 78 | if self.timewindow: 79 | self.timewindow.close() 80 | 81 | class SetTimeWindow(SetTimeWindow_style): 82 | def __init__(self,parent): 83 | super().__init__() 84 | self.parent=parent 85 | self.list=[0.1,0.5,1,2] 86 | for i in range(0,4): 87 | if self.btn[i].text()[0:-1]==str(self.parent.time): 88 | self.btn[i].setChecked(True) 89 | def closeEvent(self,event): 90 | for i in range(0,4): 91 | if self.btn[i].isChecked(): 92 | self.parent.time=self.list[i] 93 | break 94 | 95 | -------------------------------------------------------------------------------- /1.0版本/运行.pyw: -------------------------------------------------------------------------------- 1 | import sys 2 | from 槽 import MainWindow 3 | from PyQt5.QtWidgets import QApplication 4 | app=QApplication(sys.argv) 5 | mw=MainWindow() 6 | sys.exit(app.exec_()) -------------------------------------------------------------------------------- /1.0版本/骂人字典.txt: -------------------------------------------------------------------------------- 1 | 本爷爷一刀砍下你爸那弱不经风的生殖器官直插你婊子妈血逼里万万没想到发生裂变反应而导致处女血和精液一起喷薄而出 2 | 你快去你妈的吧 你妈被我倒挂在树上 人仰逼翻 现在正劈着叉大逼朝上呢 我操你损妈 你算个你妈比什么东西 3 | 当时跟你爸生你的时候把你射墙上扣都扣不下来 4 | 你婊子妈被我开着装甲车碾压成滩烂泥后竟然意外组成了一幅精美无比的迷宫图 5 | 城外三十里火光冲天烧的就是你妈飘零的骨灰。 6 | 你以为你就是跨战马提缨枪了么,你可是要被插得头破血流直接进入医院进行生殖器卵保养。不要以为你在脸上涂了点劣质粉底,就可以掩盖你农民的本质。 7 | 你爸开你妈的棺材在秋名山飙车 给你妈棺材贴个ae86 扫你妈棺材上的福字再送你个敬业福 表扬你妈生前接客365天不休息? 8 | 你的词汇量也是让我不想与你纠缠毕竟你100个爹并没有给你快乐的童年 9 | 你个东莞站街逼,自己卖逼得了艾滋浑身都是流脓的骚包还希望谁能接济你?自己穷逼就他妈少往你的烂逼嘴里塞东西,辛苦点多站几次街没准还能攒钱让你妈可以给你哭丧送火葬场下葬。像你这种欠操的臭婊子,倒贴别人的鸡确实不需要别人给你打赏东西好让你塞进你的淋逼,希望你可以和你爸共度春宵或许你爸可以给你5毛钱让你去治病体现父女情深。 10 | 想把你这个土锤赛回你妈的子宫好好重造一翻 哪知道你妈的子宫被你野爹-拳打碎 导致你和你妈一尸两命 你这个废物到现在还神智不清 11 | 你野爹我提起30斤大鸡巴在你裱子妈翻毛大血比疯狂抽插也是让野爹我感受到了无双的快感 12 | 我拿着阴阳斩龙斧把你娘的狗头撕裂后无形坠入到了万丈深渊里被深渊巨鲨撕咬的粉身碎骨最后被土崩瓦解了 13 | 我去你妈了个蝴蝶螺旋大骚逼,你妈追我三条街说我长得像你爹 14 | 火葬场的老王告诉我,你妈糊在锅底扣不下来。你爸去救她的时候被灵车漂移撞死了。两人情侣套餐9.9打包了,骨灰飘洒人间,你个废物小孤儿还不赶紧去火葬场看看你的爹娘? 15 | 你个绿毛龟还是先去医院把龟头疱疹和鸡儿皮包茎治好,你那袖珍鸡巴用显微镜去找不知道能不能找到。 16 | 杂种东西玩不起别瞎bb亲娘性命难保还要瞎鸡巴装逼 17 | 你婊子妈那你久无人草的大逼早已披上一层碧绿的青苔。于是我随手撕裂你妈绿色大逼披在m4a1上诞生了m4a1青龙 18 | 你妈今天都要下葬了你怎么还在这里网上冲浪啊?火葬场要下班了哦还不赶紧看看你那骨灰飘零的老母亲? 19 | 我宰杀你梅毒婊子妈 你妈被我五马分尸 头被我拧下来挂在城楼上 路过的人都要给你妈倒杯酒祝她地狱卖逼继续红火 20 | 你以为你就是跨战马提缨枪了么,你可是要被插得头破血流直接进入医院进行生殖器卵保养。不要以为你在脸上涂了点劣质粉底,就可以掩盖你农民的本质。你妈现在在哪个炉子里呢?我去观摩观摩 21 | 你妈在下面混的风生水起 你遗传你妈的滥交性癖给人干的b松的扫把都塞不进去 -------------------------------------------------------------------------------- /1.0版本/骂人用的.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import os 3 | class Fuck: 4 | def __init__(self,type): 5 | self.headers={ 6 | 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5702.400 QQBrowser/10.2.1893.400' 7 | } 8 | if type=='骂人': 9 | self.url='https://nmsl.shadiao.app/api.php' 10 | else: 11 | self.url='https://chp.shadiao.app/api.php' 12 | requests.packages.urllib3.disable_warnings()#忽视ssl警告 13 | def run(self): 14 | return requests.get(url=self.url,headers=self.headers,verify=False).text#取消验证ssl 15 | if __name__=="__main__": 16 | print(Fuck().run()) 17 | os.system('pause') -------------------------------------------------------------------------------- /1.1版本/操作.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from time import sleep 3 | from PyQt5.QtWidgets import QApplication,QMessageBox 4 | from 骂人用的 import Fuck 5 | from pynput.keyboard import Key,Controller#键盘操作 6 | from pyperclip import copy#剪切板操作 7 | class Loop: 8 | def __init__(self,flag,time,queue,type=None,dirs=None): 9 | self.flag=flag 10 | self.dirs=dirs 11 | self.time=time 12 | self.queue=queue 13 | self.fuck=Fuck(type) 14 | self.k=Controller() 15 | def run(self): 16 | while True: 17 | if self.queue.empty()==False: 18 | return 19 | if self.flag=='网站': 20 | try: 21 | str=self.fuck.run() 22 | except Exception: 23 | return 24 | self.out(str) 25 | sleep(self.time) 26 | elif self.flag=='字典': 27 | for one in self.dirs: 28 | if self.queue.empty()==False: 29 | return 30 | self.out(one) 31 | sleep(self.time) 32 | 33 | def out(self,str): 34 | copy(str) 35 | self.ctrl_v_enter() 36 | 37 | def ctrl_v_enter(self): 38 | with self.k.pressed(Key.ctrl): 39 | self.k.press('v') 40 | self.k.release('v') 41 | self.k.press(Key.enter) 42 | self.k.release(Key.enter) -------------------------------------------------------------------------------- /1.1版本/样式.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from PyQt5.QtWidgets import QMainWindow,QDesktopWidget,QPushButton,QVBoxLayout,QHBoxLayout,QWidget,QRadioButton,QButtonGroup,QLabel 3 | from PyQt5.QtCore import Qt 4 | 5 | class MainWindow_style(QMainWindow): 6 | def __init__(self): 7 | super().__init__() 8 | self.setWindowTitle('宇宙骂人小工具') 9 | self.center() 10 | self.resize(400,200) 11 | self.show_btn() 12 | # self.statusBar()#显示状态栏 13 | def center(self):#设置窗口居中 14 | box=self.frameGeometry()#获取当前盒子的信息 15 | window_center=QDesktopWidget().availableGeometry().center() 16 | box.moveCenter(window_center) 17 | self.move(box.topLeft()) 18 | def show_btn(self):#设置按钮 19 | self.btn1=QPushButton('设置字典')#设置字典 20 | self.btn2=QPushButton('设置发送速度')#设置发送速度 21 | self.btn3=QRadioButton('网站')#设置发送源 22 | self.btn4=QRadioButton('字典')#设置发送源 23 | self.btn5=QPushButton('发送')#开始发送 24 | self.btn6=QPushButton('骂人') 25 | hbox=QHBoxLayout() 26 | hbox1=QHBoxLayout() 27 | hbox2=QHBoxLayout() 28 | vbox1=QVBoxLayout() 29 | vbox2=QVBoxLayout() 30 | 31 | vbox1.addWidget(self.btn1) 32 | vbox1.addWidget(self.btn2) 33 | 34 | hbox1.addWidget(self.btn3) 35 | self.btn3.setChecked(True)#设置默认选中 36 | hbox1.addWidget(self.btn4) 37 | self.btn4.setEnabled(False)#设置无法选择 38 | vbox2.addLayout(hbox1) 39 | 40 | hbox2.addWidget(QLabel('当前状态:')) 41 | hbox2.addWidget(self.btn6) 42 | vbox2.addLayout(hbox2) 43 | 44 | vbox2.addWidget(self.btn5) 45 | hbox.addLayout(vbox1) 46 | hbox.addStretch()#设置中间的占位控件 47 | hbox.addLayout(vbox2) 48 | hbox.setContentsMargins(50,0,50,0)#设置hbox控件的外边距 左上右下 49 | center_window=QWidget() 50 | center_window.setLayout(hbox) 51 | self.setCentralWidget(center_window) 52 | 53 | class SetTimeWindow_style(QWidget): 54 | def __init__(self): 55 | super().__init__() 56 | self.center() 57 | self.btn=[] 58 | self.btn.append(QRadioButton("0.1s")) 59 | self.btn.append(QRadioButton("0.5s")) 60 | self.btn.append(QRadioButton("1s")) 61 | self.btn.append(QRadioButton("2s")) 62 | vbox=QVBoxLayout() 63 | vbox.addWidget(self.btn[0]) 64 | self.btn[0].setChecked(True) 65 | vbox.addWidget(self.btn[1]) 66 | vbox.addWidget(self.btn[2]) 67 | vbox.addWidget(self.btn[3]) 68 | self.setLayout(vbox) 69 | self.setWindowTitle('选择发送间隔') 70 | self.setWindowFlags(Qt.WindowTitleHint|Qt.WindowCloseButtonHint|Qt.WindowStaysOnTopHint) 71 | self.resize(200,120) 72 | self.show() 73 | def center(self):#设置窗口居中 74 | box=self.frameGeometry()#获取当前盒子的信息 75 | window_center=QDesktopWidget().availableGeometry().center() 76 | box.moveCenter(window_center) 77 | self.move(box.topLeft()) -------------------------------------------------------------------------------- /1.1版本/槽.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from time import sleep 3 | from 样式 import MainWindow_style,SetTimeWindow_style 4 | from 操作 import Loop 5 | from PyQt5.QtWidgets import QFileDialog,QWidget,QMessageBox 6 | from queue import Queue 7 | from threading import Thread 8 | class MainWindow(MainWindow_style): 9 | def __init__(self): 10 | super().__init__() 11 | self.connect() 12 | self.init() 13 | self.show() 14 | self.list=['骂人','彩虹屁','渣男语录','毒鸡汤'] 15 | self.i=0 16 | 17 | def init(self):#初始化参数 18 | self.dirs=None#字典 19 | self.time=0.1#时间间隔 20 | self.timewindow=None 21 | self.loop=None 22 | self.thread=None 23 | self.queue=Queue() 24 | def connect(self):#连接槽 25 | self.btn1.clicked.connect(self.open_file) 26 | self.btn2.clicked.connect(self.setTime) 27 | self.btn3.clicked.connect(self.setType) 28 | self.btn4.clicked.connect(self.setType1) 29 | self.btn5.clicked.connect(self.run) 30 | self.btn6.clicked.connect(self.change) 31 | 32 | #以下为槽函数 33 | def open_file(self): 34 | filepath,filetype=QFileDialog.getOpenFileName(self,'选择字典',sys.path[0],"文本文件(*.txt);;所有文件(*)") 35 | if filepath: 36 | with open(filepath,'r',encoding='utf8') as f: 37 | self.dirs=f.read().split('\n') 38 | self.btn4.setEnabled(True)#设置可使用字典发送 39 | 40 | def setTime(self): 41 | self.timewindow=SetTimeWindow(self) 42 | 43 | def setType(self): 44 | self.btn6.setText(self.list[self.i]) 45 | self.btn6.setEnabled(True) 46 | def setType1(self): 47 | self.btn6.setText('字典发送') 48 | self.btn6.setEnabled(False) 49 | 50 | def run(self): 51 | if self.btn5.text()=='发送': 52 | self.btn5.setText('停止') 53 | while self.queue.empty()==False: 54 | self.queue.get() 55 | self.btn6.setEnabled(False) 56 | if self.btn3.isChecked():#网站发送 57 | self.loop=Loop('网站',self.time,self.queue,self.btn6.text(),self.dirs) 58 | else: 59 | self.loop=Loop('字典',self.time,self.queue,self.dirs) 60 | self.thread=Thread(target=self.loop.run,name='loop_run',args=()) 61 | self.thread.start() 62 | sleep(0.1) 63 | if self.thread.is_alive()==False: 64 | QMessageBox.warning(self,'Message','请检查网络连接',QMessageBox.Yes) 65 | self.btn5.setText('发送') 66 | self.btn6.setEnabled(True) 67 | else: 68 | self.btn5.setText('发送') 69 | self.btn6.setEnabled(True) 70 | self.queue.put(1) 71 | 72 | def change(self): 73 | # if self.btn6.text()=='骂人': 74 | # self.btn6.setText('夸人') 75 | # elif self.btn6.text()=='夸人': 76 | # self.btn6.setText('骂人') 77 | # else: 78 | # self.btn6.setText('字典发送') 79 | self.i=self.i+1 80 | self.i=self.i%len(self.list) 81 | self.btn6.setText(self.list[self.i]) 82 | 83 | def closeEvent(self,event):#重写关闭窗口操作 84 | #关闭子窗口 85 | self.queue.put(1) 86 | if self.timewindow: 87 | self.timewindow.close() 88 | 89 | class SetTimeWindow(SetTimeWindow_style): 90 | def __init__(self,parent): 91 | super().__init__() 92 | self.parent=parent 93 | self.list=[0.1,0.5,1,2] 94 | for i in range(0,4): 95 | if self.btn[i].text()[0:-1]==str(self.parent.time): 96 | self.btn[i].setChecked(True) 97 | def closeEvent(self,event): 98 | for i in range(0,4): 99 | if self.btn[i].isChecked(): 100 | self.parent.time=self.list[i] 101 | break -------------------------------------------------------------------------------- /1.1版本/运行.pyw: -------------------------------------------------------------------------------- 1 | import sys 2 | from 槽 import MainWindow 3 | from PyQt5.QtWidgets import QApplication 4 | app=QApplication(sys.argv) 5 | mw=MainWindow() 6 | sys.exit(app.exec_()) -------------------------------------------------------------------------------- /1.1版本/骂人字典.txt: -------------------------------------------------------------------------------- 1 | 本爷爷一刀砍下你爸那弱不经风的生殖器官直插你婊子妈血逼里万万没想到发生裂变反应而导致处女血和精液一起喷薄而出 2 | 你快去你妈的吧 你妈被我倒挂在树上 人仰逼翻 现在正劈着叉大逼朝上呢 我操你损妈 你算个你妈比什么东西 3 | 当时跟你爸生你的时候把你射墙上扣都扣不下来 4 | 你婊子妈被我开着装甲车碾压成滩烂泥后竟然意外组成了一幅精美无比的迷宫图 5 | 城外三十里火光冲天烧的就是你妈飘零的骨灰。 6 | 你以为你就是跨战马提缨枪了么,你可是要被插得头破血流直接进入医院进行生殖器卵保养。不要以为你在脸上涂了点劣质粉底,就可以掩盖你农民的本质。 7 | 你爸开你妈的棺材在秋名山飙车 给你妈棺材贴个ae86 扫你妈棺材上的福字再送你个敬业福 表扬你妈生前接客365天不休息? 8 | 你的词汇量也是让我不想与你纠缠毕竟你100个爹并没有给你快乐的童年 9 | 你个东莞站街逼,自己卖逼得了艾滋浑身都是流脓的骚包还希望谁能接济你?自己穷逼就他妈少往你的烂逼嘴里塞东西,辛苦点多站几次街没准还能攒钱让你妈可以给你哭丧送火葬场下葬。像你这种欠操的臭婊子,倒贴别人的鸡确实不需要别人给你打赏东西好让你塞进你的淋逼,希望你可以和你爸共度春宵或许你爸可以给你5毛钱让你去治病体现父女情深。 10 | 想把你这个土锤赛回你妈的子宫好好重造一翻 哪知道你妈的子宫被你野爹-拳打碎 导致你和你妈一尸两命 你这个废物到现在还神智不清 11 | 你野爹我提起30斤大鸡巴在你裱子妈翻毛大血比疯狂抽插也是让野爹我感受到了无双的快感 12 | 我拿着阴阳斩龙斧把你娘的狗头撕裂后无形坠入到了万丈深渊里被深渊巨鲨撕咬的粉身碎骨最后被土崩瓦解了 13 | 我去你妈了个蝴蝶螺旋大骚逼,你妈追我三条街说我长得像你爹 14 | 火葬场的老王告诉我,你妈糊在锅底扣不下来。你爸去救她的时候被灵车漂移撞死了。两人情侣套餐9.9打包了,骨灰飘洒人间,你个废物小孤儿还不赶紧去火葬场看看你的爹娘? 15 | 你个绿毛龟还是先去医院把龟头疱疹和鸡儿皮包茎治好,你那袖珍鸡巴用显微镜去找不知道能不能找到。 16 | 杂种东西玩不起别瞎bb亲娘性命难保还要瞎鸡巴装逼 17 | 你婊子妈那你久无人草的大逼早已披上一层碧绿的青苔。于是我随手撕裂你妈绿色大逼披在m4a1上诞生了m4a1青龙 18 | 你妈今天都要下葬了你怎么还在这里网上冲浪啊?火葬场要下班了哦还不赶紧看看你那骨灰飘零的老母亲? 19 | 我宰杀你梅毒婊子妈 你妈被我五马分尸 头被我拧下来挂在城楼上 路过的人都要给你妈倒杯酒祝她地狱卖逼继续红火 20 | 你以为你就是跨战马提缨枪了么,你可是要被插得头破血流直接进入医院进行生殖器卵保养。不要以为你在脸上涂了点劣质粉底,就可以掩盖你农民的本质。你妈现在在哪个炉子里呢?我去观摩观摩 21 | 你妈在下面混的风生水起 你遗传你妈的滥交性癖给人干的b松的扫把都塞不进去 -------------------------------------------------------------------------------- /1.1版本/骂人用的.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import os 3 | import json 4 | from lxml import etree 5 | class Fuck: 6 | def __init__(self,type): 7 | self.headers={ 8 | "method":"GET", 9 | "path":"/api.php", 10 | "scheme":"https", 11 | "accept":"*/*", 12 | "accept-encoding":"gzip, deflate, br", 13 | "accept-language":"zh-CN,zh;q=0.9", 14 | "user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5702.400 QQBrowser/10.2.1893.400", 15 | "x-requested-with":"XMLHttpRequest", 16 | } 17 | self.type=type 18 | if type=='骂人': 19 | self.url='https://nmsl.shadiao.app/api.php' 20 | self.headers["authority"]="nmsl.shadiao.app" 21 | self.headers["referer"]="https://nmsl.shadiao.app/" 22 | elif type=='渣男语录': 23 | self.url='https://api.lovelive.tools/api/SweetNothings/1/Serialization/Json' 24 | self.headers["path"]="/api/SweetNothings/1/Serialization/Json" 25 | self.headers["referer"]="https://lovelive.tools/" 26 | self.headers["origin"]="https://lovelive.tools" 27 | elif type=='毒鸡汤': 28 | self.url='https://8zt.cc/' 29 | self.headers["path"]="/" 30 | elif type=='彩虹屁': 31 | self.url='https://chp.shadiao.app/api.php' 32 | self.headers["authority"]="chp.shadiao.app" 33 | self.headers["referer"]="https://chp.shadiao.app/" 34 | requests.packages.urllib3.disable_warnings()#忽视ssl警告 35 | def run(self): 36 | if self.type=='渣男语录': 37 | response=json.loads(requests.get(url=self.url,headers=self.headers).text)["returnObj"][0] 38 | elif self.type=='毒鸡汤': 39 | response=requests.get(url=self.url,headers=self.headers).text 40 | tree=etree.HTML(response.replace("\\n",'').replace("\\",'')) 41 | response=tree.xpath("//span/text()")[0].replace(' ','') 42 | else: 43 | response=requests.get(url=self.url,headers=self.headers,verify=False).text#取消验证ssl 44 | return response 45 | if __name__=="__main__": 46 | print(Fuck('毒鸡汤').run()) 47 | os.system('pause') -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # superFuck 2 |
双击 运行.pyw运行,开启后点击要发送的文本框,自动发送(发送按键默认为回车键)
22 |功能: 可选择夸人、骂人,句子可从文本文档导入,也可直接用骂人网站里的句子(发送速度取决于网站回复速度 建议速度设置为0.1s)
23 | 1.0版本exe格式(18.8M): 24 | 链接:https://pan.baidu.com/s/1Scqx5YwpXpmKWbrzhAS18g 提取码:25v0 25 |