有时候让了解放双手,让电脑来帮我们自动发一些我们想要发的消息,挺省力的,比如说白天写好了演讲稿,晚上要在群里进行文字演讲,那么我们就可以用脚本来实现自动复制、粘贴和发送文字的功能,从而解放我们自己,不用亲自在电脑上反复干这个Ctrl C/Ctrl V这个累活儿。
还可以把定时多长时间后发送指定内容,这下子就不用坐在电脑前面到点了发弹幕了。
多长时间发1条消息,又或者1秒发多少条信息,都可自由设置,时间设得短的话,一秒发几十条都没问题,只是太快了会形成刷屏的效果……
今天就把这个技巧给大家分享一下,很简单,没有多少代码。
一、效果
我们先来看一下效果,我这里设置的是4s后开始发送,间隔0.5s发一次。
[video(video-LQm2vy4y-1629256154101)(type-bilibili)(url-player.bilibili.com/player.html…(image-https://ss.csdn.net/p?http://i1.hdslb.com/bfs/archive/8a8f70a56e37a7458bba8bb829964ab8f60d8fb9.jpg)(title-%E7%94%A8Python%E5%AE%9E%E7%8E%B0%E7%94%B5%E8%84%91%E8%87%AA%E5%8A%A8%E5%8F%91%E6%B6%88%E6%81%AF%EF%BC%8C%E5%86%85%E5%AE%B9%E8%87%AA%E5%AE%9A%E4%B9%89%EF%BC%8C%E5%BF%AB%E6%85%A2%E5%9D%87%E5%8F%AF))]
二、开发环境
- 系统:Windows10 64位
- Python版本:3.9
- Pycharm版本:2021.1.3
- 模块(库):os、time、pyautogui、pyperclip
三、关键步骤解析
实现的代码文件主要有两个,目的分别是:获取聊天窗口位置和实现自动发送消息功能,用到的库在上面已经提过了,在开始写代码之前,先把要用的库先pip下载装好,下面就不再说这个了。
1.获取聊天窗口位置(源码1)
在我们发消息之前,得需要知道聊天窗口的位置在哪,即鼠标停留在哪里才能定位到聊天窗口的输入界面,也就是鼠标的x和y坐标是多少。
这里我用的是os、time和pyautogui这三个库,获取鼠标的实时位置的:
1 | python复制代码try: |
只要程序运行起来之后,每当我们移动鼠标,鼠标的x和y值就会自动发声改变并打印出来,我们只需要把聊天窗口调出来,把鼠标定位到聊天的窗口的输入位置就能获取到此时的x和y值,有了这个x和y值之后,我们才能告诉下面的发消息程序要在哪里进行粘贴和推送。
当然了,获取鼠标位置的方式有很多种,你们也可以去尝试一下其他方式的获取。
2.实现自动发送消息功能
在获取了x和y的值之后,我们要做的当然是写程序实现“复制文本→粘贴文本→发送消息”,这里就需要用到 pyautogui 来控制键盘和鼠标,用 pyperclip 来控制电脑进行复制和粘贴,以及用 time 这个库进行一下时间的控制。
首先我们把需要发送的内容提前准备好,放在content里面,到时候直接拿来用就可以了,内容可以自定义修改,比如这样的:
1 | python复制代码content = """ |
我们在运行代码之后需要切换到聊天界面,中间需要时间去手动做一下这个操作,所以在复制粘贴和发送代码之前,我们需要留出一些时间给自己,我这里先设定了4s的时间延迟,当然也可以设置几个小时之后开始发消息。
1 | python复制代码time.sleep(4) |
接下来就是怎么实现复制粘贴和发送了:
1 | python复制代码for line in list(content.split("\n"))*10: |
到了这里,所有的东西就已经完成了,如果觉得5s发送1条消息太快,可以修改time.sleep(5)里面的5这个数值,比如说10s发一条消息;如果你设置成0.01秒,那么就会是一个快速发消息的刷屏效果了…..
for循环中的“*10”控制循环次数,也就是让它发10次文本的样子,也可以设置不让它循环,把 list(content.split(“\n”))*10 改成 content.split(“\n”) 即可。
大致的方法就是上面这些,需要源码可以私聊我,你们也可以去尝试别的方式实现,说白了就是自动发消息,实现方式有很多种,比如更高级一点的直接带着xookie调api发送等等,以及按键精灵也是能实现这个功能,更多精彩,等你自己去挖掘了。
总结
这个脚本的本质是实现电脑自动发消息,只是间隔时间的设置导致它也具备快速发消息的功能,不仅仅是QQ,微信也是一样能用。
基本的原理就是这样了,你们还可以思考一下,如何在这个基础上,让程序在几个小时之后启动,间隔几十分钟发一次,彻底解放自己。
本文转载自: 掘金