定制app开发女友让我每天半夜十二点给她发晚安?我用 Python 做了个定时发消息神器!怕她干嘛!

最近,定制app开发女友奇奇怪怪的要求越来越多了。定制app开发竟然要我每天晚上十二定制app开发点准时给她发晚安!

但是拥有 定制app开发的我怎么可能忍受得了定制app开发这种煎熬呢!于是,我立马用 Python 做了一个自动发晚安神器!

安装、导入库

pyautogui 库是一个可以控制键盘、鼠标的库。我们可以利用它实现自动发消息。

pyperclip 库可以将文本复制到剪贴板。

apscheduler 库可以创建定时任务

安装:

pip install pyautoguipip install apscheduler
  • 1
  • 2

导入:

import pyautogui as pgimport pyperclip as pcfrom apscheduler.schedulers.blocking import BlockingScheduler
  • 1
  • 2
  • 3

打开微信

打开微信设置,点击快捷键设置,我们会发现默认打开微信的快捷键是 “Ctrl + Alt + W”。因此,我们可以输入快捷键来打开微信。

快捷键格式:

pg.hotkey(*keys)
  • 1

我们输入打开微信的快捷键。

pg.hotkey('ctrl', 'alt', 'w')
  • 1

找到女朋友

进入微信后,按下快捷键 “Ctrl + F” 即可打开搜索界面。

pg.hotkey('ctrl', 'f')
  • 1

然后,在这里输入你的女朋友的昵称,按下回车键即可进入聊天。

在 pyautogui 中,有以下几种方式输入字符:

# 输入多个英文字母,不能同时输入字母和特殊键位pg.typewrite('keys')# 输入单个字母,可以按下特殊键位pg.typewrite(['k', 'e', 'y', 's', 'enter'])# 只能输入一个字母或特殊键pg.press('enter')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

但是以上方法都无法输入中文。

一种解决方式是使用你的输入法输入中文。

pg.typewrite('nvpengyou ')# 空格用于选中第一项
  • 1

另一种是用 pyperclip 库复制中文,再用快捷键粘贴。

pc.copy('女朋友')pg.hotkey('ctrl', 'v')
  • 1
  • 2

我们选择使用第二种。

然后,我们按下 Enter 键,选择聊天。

pg.press('enter')
  • 1

发送消息

同样,我们首先复制要发送的消息,然后粘贴按下 Enter 发送。

pc.copy('晚安')pg.hotkey('ctrl', 'v')pg.press('enter')
  • 1
  • 2
  • 3

退出微信

发完消息后,别忘了隐藏微信。因为打开微信、隐藏微信用的都是同一快捷键,如果不隐藏,那么下次发时将会隐藏微信,什么也发不出去。

pg.hotkey('ctrl', 'alt', 'w')
  • 1

创建定时任务

我们将上面的代码封装到一个函数 main() 中。然后,通过调度器实现定时任务。

scheduler = BlockingScheduler() # 实例化一个调度器scheduler.add_job(main, 'cron', hour=0, minute=0) # 添加任务scheduler.start()
  • 1
  • 2
  • 3

添加任务中,cron 表示重复在指定时间执行任务。如上面代码则是每天 0 时 0 分执行任务。

完整代码

import pyautogui as pgimport pyperclip as pcfrom apscheduler.schedulers.blocking import BlockingScheduler# 操作间隔为1秒pg.PAUSE = 1name = '女朋友'msg = '晚安'def main():	# 打开微信	pg.hotkey('ctrl', 'alt', 'w')	pg.hotkey('ctrl', 'f')	# 找到女朋友	pc.copy(name)	pg.hotkey('ctrl', 'v')	pg.press('enter')	# 发送消息	pc.copy(msg)	pg.hotkey('ctrl', 'v')	pg.press('enter')	# 隐藏微信	pg.hotkey('ctrl', 'alt', 'w')if __name__ == '__main__':	scheduler = BlockingScheduler() # 实例化一个调度器	scheduler.add_job(main, 'cron', hour=0, minute=0) # 添加任务	scheduler.start()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

此代码在 Windows7 Python3.8.6 下调试通过。

效果:


录屏的可能有些不清晰。

— End —

感谢阅读!
原创不易,期待你的点赞、收藏与关注

本文收录于专栏 。
关注作者,互助交流,学习更多 Python 知识!


推荐阅读

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发