无用小程序之——论如何利用python的pyautogui和特别喜欢发“嗯”*n的人实现部分自动化QQ聊天

众所周知,有人喜欢回消息的时候回一个或几个嗯,就像这样:

或者这样:

这个时候回什么好呢?你不知道,我不知道,大家都不知道。

这个时候就回若干个“嗯”吧,不然很容易把我们给憋死。

但是众所周知,回消息要输入好几个嗯,很容易把我们给累死。

因此,为了给我们留一条生路,我想到了两个模块,pyautogui,pyperclip。

为了搞定这个,首先我们需要安装这两个模块。

pip install pyautogui
pip install pyperclip

然后具体代码如下:

"""
-*- coding: utf-8 -*-
@File  : HalfAutoReply.py
@author: 刘子忻
@CSDN  : 山河之书Liu_Zixin
@Time  : 2022/11/06 23:38
"""

import random
import pyautogui as gui
import pyperclip as lip
import time

while True:
    if gui.locateOnScreen('demo5.png', grayscale=True):  # 按照模板匹配检查是否存在目标,设置灰度检查,提高查找效率
        a = random.randint(2, 4)
        b = "嗯" * a

        left, top, width, height = gui.locateOnScreen('demo2.png', region=(170, 480, 1360, 545), grayscale=True)  # 这个地方在广泛的数据基础上,设置了检查范围,设置灰度检查,极大提高了效率
        height = height + 60  # 移动中心点(这波是迂回一下,使用移动高度来移动中心点)
        center = gui.center((left, top, width, height))  # 设置点击中心点
        gui.doubleClick(center)  # 点击中心点

        lip.copy(b)  # 赋值b到剪贴板
        gui.keyDown('ctrl')  # 模拟按下ctrl
        gui.press('v')  # 模拟戳一下v
        gui.keyUp('ctrl')  # 模拟松开ctrl
        gui.hotkey("enter")  # 模拟戳一下enter
        # 上面这一段有一堆不同的表达方式,大家随意即可
    else:  # 上来检查不到
        time.sleep(3)  # 让程序歇歇

上面提到的几个图片是(demo5在前,demo2在后):

这里之所以截图到了底下的输入框呢,就是为了保证这条消息发出来之后只能回复一次,不会持续匹配回复,等到下次再发的时候就重新检测运行。

 (请忽略水印,个人信息是不可能让你看见的,绝对不可能的)

 原理(不想看的人直接复制粘贴程序,运行就是了,管那么多干啥,有什么BUG在评论区问我):

1、启动程序后,就会根据demo5里面的样式循环查找屏幕中是否存在一样的结构,有的话就跳转到2,反之则停三秒后进入下一次查找(考虑到python的循环有上限,因此不要每时每刻都在循环,停上三秒)。

2、取随机整数,然后生成含有2-4个“嗯”的字符串。

3、四个参数定位匹配成功的样式demo2,确定图片位置。

4、因为要确定中心点,而我们需要让鼠标模拟点击到输入框,所以需要让中心点下移,这个地方我选择把图片的高拉长,顶端不变,因此中心点下移。

5、模拟鼠标到确定的中心店位置,点击唤醒输入框。

6、复制,模拟粘贴,模拟发送(要是ctrl+enter发送的话就把hotkey那里改一下就好,传入两个值)

使用方法:运行之后就开始发消息就行了,对面发了“嗯”*n之后,程序会自动帮你发几个嗯上去

不知给这个程序取个什么名字好呢?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山河之书Liu_Zixin

不要打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值