博客简介 前言:
额,我也不知道为啥群里的小伙伴就。。开始抢龙王了???这个龙头有啥用吗?这伙人,也许闲出毛病了。好吧,我也是,但是一条一条发消息真的很累a,所以想到用python自动发送消息——废话不说,开始吧,龙王是我。
- 安装pywin32库
- 定义消息发送类
- 获取消息
- 定时
- 运行
安装pywin32库 pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制…我们这里的QQ消息发送则用到了pywin32下的窗口历遍,消息发送,剪切板等API,正式使用之前,pip安装:
python定时发送QQ消息
定义消息发送类 这个类要实现的功能是将消息复制到剪切板,然后历遍窗口找到我们的接收者,将消息发送:
class sendMsg():
def __init__(self,receiver,msg):
self.receiver=receiver
self.msg=msg
self.setText()
#设置剪贴版内容
def setText(self):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, self.msg)
w.CloseClipboard()
#找到消息发送窗口,发送消息
def sendmsg(self):
qq=win32gui.FindWindow(None,self.receiver)
win32gui.SendMessage(qq,win32con.WM_PASTE , 0, 0)
win32gui.SendMessage(qq, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
print("sucessfuly send",self.msg)
获取消息 我们发送的消息从何而来?这里我是复制的之前我在群里的消息记录,然后过滤掉一些无用信息,存入文件中。然后再从文件中随机获取一条消息,提供给消息发送类
(1)复制群消息记录粘贴在txt中
python定时发送QQ消息
(2)过滤掉其中的头衔,换行等等,写到message.txt文件中:
def main():
f=open('test.txt','r',encoding='utf-8')
lines=""
for x in f:
if ('【' in x) or (x=='\n'):continue
lines+=x
f.close()
f=open('message.txt','w',encoding='utf-8')
f.write(lines)
f.close()
main()
可以看到过滤后的消息要简洁许多
python定时发送QQ消息
(3)随机获取message文件中的一条消息:
def getmessage(fileName):
f=open(fileName,'r',encoding='utf-8')
lines=f.readlines()
f.close()
return choice(lines)
定时 定时我们可以用到time库中的sleep,单位为s,套在一个while循环中:
def main():
receiver='XXXX'#这里填入接收者的备注名
while True:
msg=getmessage('message.txt')
qq=sendMsg(receiver,msg)
qq.sendmsg()
time.sleep(randrange(60,10*60,60))
运行代码 最终代码实现如下:
import win32con
import win32gui
import win32clipboard as w
import time
from random import choice
from random import randrange
class sendMsg():
def __init__(self,receiver,msg):
self.receiver=receiver
self.msg=msg
self.setText()
#设置剪贴版内容
def setText(self):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, self.msg)
w.CloseClipboard()
#发送消息
def sendmsg(self):
qq=win32gui.FindWindow(None,self.receiver)
win32gui.SendMessage(qq,win32con.WM_PASTE , 0, 0)
win32gui.SendMessage(qq, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
print("sucessfuly send",self.msg)
def getmessage(fileName):
f=open(fileName,'r',encoding='utf-8')
lines=f.readlines()
f.close()
return choice(lines)
def main():
receiver='xxxx'#这里填入接收者的备注名
while True:
msg=getmessage('message.txt')
qq=sendMsg(receiver,msg)
qq.sendmsg()
time.sleep(randrange(60,10*60,60))
if __name__ == '__main__':
main()
python定时发送QQ消息
好了,抱得龙儿归。
python定时发送QQ消息
python定时发送QQ消息
飞翔的哈士奇
python定时发送QQ消息
python定时发送QQ消息
原创文章 220获赞 393访问量 6万+ 关注 私信
|