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

python实现定时自动发送qq消息,第1张

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

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

  1. python3.7.2下载地址:python3.7.2下载地址,注意安装的时候一般默认安装路径即可,并且要记得勾选添加环境变量,否则要手动添加环境变量,安装完成后可以在cmd命令行输入where python来查看python安装位置,前提是配置了环境变量
  2. 下载pycharm,我的版本是PyCharm Community Edition 2020.3.5
  3. 下载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 win32con
import win32gui
import win32clipboard as w
import time
from random import choice
from random import randrange
import datetime

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='备注测试'#这里填入接收者的备注名
    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函数的使用,很关键,否则会出现一秒钟发几十条的情况,自己研究一下即可

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5479310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存