事件起因:每天要早起才能约到明天的驾校课,对于我这种晚睡晚起的人实在是非常不友好,于是想写一个脚本每天定时发送约课消息 。为让对方觉得真实,特意使用随机数在每天8-9点之间的任意一分钟发送约课消息,并在10分钟后给予回复。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import win32con
import win32gui
import win32clipboard as w
import time
from random import choice
import random
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) == 8 and int(minnute)== r and second=='30':
r = random.randint(0, 59) # 更新随机数
print(time1)
# msg = getmessage('C:\\Users\\Administrator\\Desktop\\message.txt')
print(time1)
msg = '你好,约课明天的课,无论安排在哪个时间段都行,我都有空!当然我最希望的还是在8点到12点这个时间段,谢谢'
qq = sendMsg(receiver, msg)
qq.sendmsg()
time.sleep(600) # 等待10分钟
msg = '好的! 谢谢'
qq = sendMsg(receiver, msg)
qq.sendmsg()
time.sleep(82800) # 睡眠23个小时,等待下一次发消息
# 测试案例 每5秒钟发送一次消息
# if int(second)%5==0:
# msg = '时间:' + time1 + ',系统运行正常!'
# qq = sendMsg(receiver, msg)
# qq.sendmsg()
# time.sleep(3)
if __name__ == '__main__':
r = random.randint(0,59)
main()
PS:1. 需要安装pywin32包来控制窗口应用程序
2.请将发送消息快捷键设置成如下
3.可以自己修改一下代码,新建txt文档在其中写入土味情话,每天自动随机选取一句发送给女友。
4.有技术问题欢迎评论区交流。