700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python实现定时自动发送qq消息

python实现定时自动发送qq消息

时间:2020-09-07 22:04:21

相关推荐

python实现定时自动发送qq消息

python实现定时自动发送qq消息

最近双11,生产系统需要重保,所以领导要求各个系统每隔两个小时在qq群通报一次系统运行情况,这样晚上的话也需要有人半夜起来发消息,很不方便,所以实现了一个定时自动发消息的程序,只要程序挂着就会定时发消息到qq群。

工具:python3.7 | pycharm | pywin32包

python3.7.2下载地址:python3.7.2下载地址,注意安装的时候一般默认安装路径即可,并且要记得勾选添加环境变量,否则要手动添加环境变量,安装完成后可以在cmd命令行输入where python来查看python安装位置,前提是配置了环境变量

下载pycharm,我的版本是PyCharm Community Edition .3.5下载pywin32包 pywin32-py3.7版本,这个地址下载很慢,稍微等一等一定能下载下来,python是3.7版本的,pywin32包一定也得是3.7版本的,跟python版本是一一对应的,安装时路径默认就是你python安装的路径,可以检查一下是否是你python安装的路径,一直继续即可。

4.打开python的安装目录,安装pywin32后,在python安装目录的scripts文件夹下会出现pywin32相关的py文件。

5.打开pycharm,创建一个python文件,将代码拷贝进文件(代码是网上找的,在这个基础上进行修改的,里面的getmessage函数没有使用,我保留着没有删除,之前是从文件中读取字符串,我不需要,所以修改了一下)

import win32conimport win32guiimport win32clipboard as wimport timefrom random import choicefrom random import randrangeimport datetimeclass sendMsg():def __init__(self,receiver,msg):self.receiver=receiverself.msg=msgself.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='备注测试'#这里填入接收者的备注名while True:time1=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')# print(time1)hour=time1[11:13]minnute = time1[14:16]second = time1[17:19]# print(hour,minnute,second)if int(hour)%2==0 and minnute=='00' and second=='30':print(time1)# msg = getmessage('C:\\Users\\Administrator\\Desktop\\message.txt')print(time1)msg = '截止' + time1[5:7] + '月' + time1[8:10] + '日' + hour + '时,CRM系统运行正常'qq = sendMsg(receiver, msg)qq.sendmsg()time.sleep(7000)# 测试案例 每5秒钟发送一次消息if int(second)%5==0:msg = '时间:' + time1 + ',系统运行正常!'qq = sendMsg(receiver, msg)qq.sendmsg()time.sleep(3)if __name__ == '__main__':main()

6.在pycharm里,File -> Settings -> Project:pythonProject -> Python Interpreter(或者settings搜索里直接搜Python Interpreter),然后点击后面设置的按钮,选择Add…

7.选择Virtualenv Environment,然后点击Base interpreter后面选择的按钮

8.选择python3.7安装目录下的python.exe

9.点击ok ,可以看到pywin32包也会出现在这里,之前应该是没有的,我上面的截图有是因为我截图时已经安装了,然后点击Apply->Ok,就设置好了,就相当于将python3.7和pycharm关联在一起了,pycharm将使用python3.7解释器。

10.准备一个qq群,群名称为"auto测",群备注为"备注测试",然后将代码中的receiver='备注测试'#这里填入接收者的备注名修改一下,注意是群的备注名称,不是群的名称

11.注意窗口要单独打开窗口的,像下面图片这样。

12.右键点击运行试一下

大功告成!!!

注意:代码中一定要注意sleep函数的使用,很关键,否则会出现一秒钟发几十条的情况,自己研究一下即可

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。