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

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

安装、导入库

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

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

apscheduler 库可以创建定时任务

安装:

pip install pyautogui
pip install apscheduler

导入:

import pyautogui as pg
import pyperclip as pc
from apscheduler.schedulers.blocking import BlockingScheduler

打开微信

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

快捷键格式:

pg.hotkey(*keys)

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

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

找到女朋友

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

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

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

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

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

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

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

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

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

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

我们选择使用第二种。

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

pg.press('enter')

发送消息

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

pc.copy('晚安')
pg.hotkey('ctrl', 'v')
pg.press('enter')

退出微信

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

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

创建定时任务

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

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

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

完整代码

import pyautogui as pg
import pyperclip as pc
from 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()

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

效果:


录屏的可能有些不清晰。

— End —

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

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

https://blog.csdn.net/weixin_48448842


推荐阅读

  • Python tkinter 自制一个炫酷的音乐播放器!随时随地爬取酷我音乐并下载,进度控制、歌词滚动
  • 七夕来了,你还没有女朋友?Python 追女生神器!每天坚持给她发早安
  • 程序员必备摸鱼神器!老板看出来算我输!
  • 【爬虫实战】Python 自制天气预报程序!爬取全国天气网

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

  1. 脱单狗福利!每天不同时间段给女友定时给女友发消息,不错过早上起床、中午吃饭、晚上吃饭、晚安时间!...

    [TOC] 每天不同时间段通过微信发消息提醒女友 简介 有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她.你暗自下决心,下次一定要准时发消息给她,哪怕是几句话,可是你又忘记了.你 ...

  2. 女友晚安之后依然在线:python男友用20行代码写了个小工具

    大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:python用20代码实现录屏功能 代码干货满满,建议收藏+实操 ...

  3. python撩人的代码,老师教已毕业的学生,用Python代码每天不定时撩女友,附源码文件...

    原本就是学生会主席,在学校如此优秀的他,毕业参加工作,依然展现出好强的一面. 每天认真的工作,即使在工作之余也要用来给自己充电,所以难免会忽略女友,不够关心,免不了发脾气,甚至是争吵. 有一天,曾经大 ...

  4. Python实现--使用微信定时每天和女友发送定制消息(附代码教程)

    但凡有些事情重复时,我就在想怎么可以用程序来自动化.这里想分享如何每天给女友定时微信发送"晚安",如果只是晚安,就略显单调,于是爬取金山词霸每日一句,英文和翻译,借此设定定时器进行 ...

  5. 女友想买个手机!我用Python做了个比价机器人了!

    "菜鸟学Python",第"548"篇原创 还有一个月不到就过年啦,大家都要买点年货啥的,女友一直想买个手机,但是有的时候在京东购物时,你是否遇到如下情况: 心 ...

  6. 脱单狗福利!每天不同时间段给女友定时给女友发消息,不错过早上起床、中午吃饭、晚上吃饭、晚安时间!

    目录 每天不同时间段通过微信发消息提醒女友 简介 编写思路 使用教程 演示图片 完整源代码 每天不同时间段通过微信发消息提醒女友 简介 有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够 ...

  7. 女友忽然欲买文胸,但不知何色更美,Python解之【全程实战,议藏之】

    文章目录 情景再现 本文关键词 挑个"软柿子" 单页爬取 数据处理 翻页操作 撸代码 主调度函数 页面抓取函数 解析保存函数 可视化 颜色分布 评价词云图 ❤️源码获取方式❤️ 情 ...

  8. 实战|使用python推送微信公众号消息(哄女友专用)

    抖音上看到女友分享的别人家程序员男友写的一个定时微信公众号推送消息的小功能,自己尝试写了一下,供大家参考. 先上效果图: 首先分析需求.效果图,完成功能需要: 微信公众平台(注册一个测试账号) 接入微 ...

  9. 手把手教你用Python做一个哄女友神器,小白可上手

    大数据文摘出品 作者:诗风悠存.蒋宝尚 哄女朋友最高的境界是什么? 除了用心之外,每天不重复的甜言蜜语必然是少不了的.虽然语文老师上学的时候也教了一些东西,但是日子长了必然"江郎才尽&quo ...

最新文章

  1. POJ - 3177 Redundant Paths 双联通补边
  2. css create 多边形 polygon
  3. Servlet与JSP学习笔记(五) JSP核心(下)
  4. BCB 编写 DLL 终极手册
  5. docker安装配置分布式elasticsearch、kibana、head、cerebro
  6. ABP Framework 为什么好上手,不好深入?探讨最佳学习姿势!
  7. aix内核是linux,查看Linux及AIX硬件信息方法总结
  8. java学习(133):泛型
  9. SpringBoot在项目中基本配置设置
  10. NeurIPS | 谷歌使用机器学习如何做好分布外异常检测
  11. 消息称AirPods 3搭载U1芯片 耳机柄变小
  12. 基于情感词典的情感值分析
  13. 学会了,不会ps也能更换自己的证件照底色,制作自己的证件照
  14. EAS BOS 序时簿做组织单元隔离
  15. (二)泛函分析(江泽坚)习题解答
  16. html鼠标放大镜效果,CSS3实现鼠标放大镜和放小镜的效果
  17. 千呼万唤始出来,犹抱琵琶半遮面——python变量和数据类型
  18. Polar(极坐标)投影--主要用于天气雷达图
  19. C++ 已知两个时间(年月日)求日期差
  20. 微信投放卡券-支付即会员

热门文章

  1. 解决百度网盘下载限速 速度慢问题
  2. 刘强东,揭开京东未来盈利迷局
  3. Django 创建项目app
  4. C#程序设计第三版(李春葆)第12章文件操作课后习题答案
  5. Java编程笔记6:接口
  6. 对比深度学习十大框架
  7. Android的资源引用(2)(Drawable)
  8. JS Event Propagation (bubbling and capture)
  9. 浏览器被劫持如何恢复?
  10. web手机端真机测试