cyansto 发表于 2020-11-24 17:32

微信、QQ自动口吐莲花

建议本人延迟匮乏加上手速缓慢,在与人对喷方面总是处于弱势,正好在学习python,就产生了python在聊天栏自动输入口吐莲花的想法;
效果图如下,可以自定义次数疯狂输出,当然演示环境自己换成了鸡汤文本
https://attach.52pojie.cn//forum/202011/24/171953engffz0hddddnx6n.jpg?l

具体内容是调用pyautogui识别聊天栏上方的表情按键,Y轴平移50位,确认聊天栏,然后模拟键盘操作,复制粘贴发送的行为,比较简单比较无脑;
需要安装依赖: pyautogui pyperclip linecache opencv-python
其中opencv-python 是为了模糊精准度识别,相当有效的提高了识别度,如果脚本返回none的话可以调整confidence数值即可

后续有游戏内识别输出的想法但还没有实践过,仅调用键盘鼠标的话,应该是都适用的
使用起来也比较简单,将聊天栏表情包截图保存在当前目录,输入图片名称和循环次数即可
不过有个问题,我是mac电脑,屏幕尺寸是1400*900,分辨率是2560 x 1600,根据图片识别的坐标是翻倍的,所以我在代码里做了计算,如果在1080的显示器,可以依据对应的比例做换算即可
文本素材我上传到附件中,可以酌情下载;
最后:希望各位快乐游戏,保持好心情




import pyautogui

import time
import pyperclip
import random
import linecache

def find():
    i = random.randint(1, 100)
    line=linecache.getline(r'./jit.txt',i)
    return line

def QQ_test(i):
    pyperclip.copy(i)
    pyautogui.hotkey('command', 'v')
    pyautogui.press('enter')

def get_chat(img_load):
    chat_location = pyautogui.locateOnScreen(img_load, confidence=0.9)
    get_location = pyautogui.center(chat_location)
    pyautogui.moveTo((get_location.x)/2,((get_location.y)/2+50), duration=1)
    pyautogui.click()

if __name__ == '__main__':
    img_load = input("请输入图片名称:")
    chat_sum = int(input("请输入聊天次数:"))
    time.sleep(2)
    get_chat(img_load)
    for i in range(chat_sum):
      test = find()
      QQ_test(test)

lanson647 发表于 2020-11-25 08:29

哈哈,有点意思~

巨无霸 发表于 2020-11-25 09:29

前两天用Python的脚本轰炸对方,被腾讯临时冻结,被警告了。这类脚本,慎用

cyansto 发表于 2020-11-25 10:13

巨无霸 发表于 2020-11-25 09:29
前两天用Python的脚本轰炸对方,被腾讯临时冻结,被警告了。这类脚本,慎用

老哥你频率是不是太高,这个是模拟键鼠操作,正常来说不会被感知到的

jmj2460182 发表于 2020-11-25 14:26

感谢分享

魔屏 发表于 2020-11-29 11:01

拿走试试去,谢谢喽!

lucky500 发表于 2020-11-30 17:10

厉害 .怎么做到的.我要想试试
页: [1]
查看完整版本: 微信、QQ自动口吐莲花