0
点赞
收藏
分享

微信扫一扫

2022年春节祝福微信自动回复

伊人幽梦 2022-01-26 阅读 62

众所周知,当我们在春节通宵玩游戏或者看春节晚会的时候,如果你的好友和亲戚这时给你发来春节祝福,而你又刚好在团战或是看到精彩部分,我们就没办法抽时间来回复他们,万一他们直接打电话来,打断了我们的美好时光,就很容易把我们高兴s。

鱼逝,我就用Python做了这个自动祝(fu)福(yan)系统,帮助我们自动祝福别人,畅享幸福假期。

先看看库先!

import time
import random
import tkinter as tk
from tkinter import ttk, messagebox as msg
from PIL import ImageGrab,ImageChops,Image
import pymouse, pykeyboard, pyperclip

一个tkinter用来创建窗口,方便大家在自己电脑上操作

PIL这个库提供了截屏和图片对比,方便对消息的更新做出反应

至于pymouse, pykeyboard, pyperclip都是老面孔了,键盘输入鼠标获取和消息传递

蓝后,就是创建窗口!

mainForm = tk.Tk()
mainForm.title('自动敷衍系统')
mainForm.resizable(0, 0)

msgText = tk.Text(mainForm, height=40, width=40)
msgText.insert(0.0, "在这里写下你喜欢的敷衍的话吧")
msgText.grid(row=0, padx=5, pady=5)

 由于,每个人的新年祝福都不一样,于是我就在这里放了个文本输入框,方便文采好的人可以任意发挥,emoji也是支持的哦😯!

mouseInputXY = (-1, -1)
mousePeopleXY = (-1,-1)
mouseUPXY = (-1,-1)
mouseDOWNXY = (-1,-1)

def onClickMouseButton():
    global mouseInputXY ,mouseUPXY ,mouseDOWNXY ,mousePeopleXY
    m = pymouse.PyMouse()
    msg.showinfo('成功', '成功,请在点击确认后2秒内将鼠标移动到微信的输入框,2秒后自动获取输入框鼠标位置。')
    time.sleep(2)
    mouseInputXY = m.position()
    msg.showinfo('成功', '成功,请在点击确认后2秒内将鼠标移动到微信第一人上,2秒后自动获取鼠标位置。')
    time.sleep(2)
    mousePeopleXY = m.position()
    msg.showinfo('成功', '成功,请在点击确认后2秒内将鼠标移动到微信聊天框的左上端,2秒后自动获取鼠标位置。')
    time.sleep(2)
    mouseUPXY = m.position()
    msg.showinfo('成功', '成功,请在点击确认后2秒内将鼠标移动到微信聊天框的右下端,2秒后自动获取鼠标位置。')
    time.sleep(2)
    mouseDOWNXY = m.position()
    msg.showinfo('成功', '任务成功完成')

 基于每个人电脑都不一样,自然微信QQ的输入位置都不一样,而这个函数就是为为了让敷衍系统更加贴切,更懂你。

海澜之家,男人的衣柜(不知道为什么突然想到这句广告)

def compare_images(path_one, path_two):
    image_one = Image.open(path_one)
    image_two = Image.open(path_two)
    try:
        diff = ImageChops.difference(image_one, image_two)
        if diff.getbbox() is None:
            # 图片间没有任何不同则直接退出
            print("No message!")
            return False
        else:
            print('New!')
            return True
    except ValueError:
        pass

这个就是比较桌面截屏的函数啦!如果有变化,我们的程序就知道是有消息了(当然,它区分不了群消息和个人消息,都会发敷衍[大哭])

mouseButton = ttk.Button(mainForm, text='点击获取鼠标位置', width=40, command=onClickMouseButton)
mouseButton.grid(row=2, padx=5, pady=5)

哦差点忘了,这里当然还有一个启动用的按钮啦,这东西可不能丢yee

def onClickStartButton():
    # 判断是否已经读取鼠标位置
    if mouseInputXY == (-1, -1):
        msg.showerror('错误', '请先获取鼠标位置哦哦哦')
        return
    msgContent = msgText.get(0.0, tk.END).rstrip()
    if msgContent == '在这里写下你喜欢的敷衍的话吧' or msgContent == '':
        msg.showerror('错误', '请先输入你要敷衍的话')
        return
    if not msg.askokcancel('提示', '开始敷衍喽'):
        return
    m = pymouse.PyMouse()  # 获取鼠标对象
    k = pykeyboard.PyKeyboard()  # 获取键盘对象
    lst = msgContent.split()
    size = (mouseUPXY[0], mouseUPXY[1], mouseDOWNXY[0], mouseDOWNXY[1])
    print(size)
    path_one, path_two = r"cut1.jpg", r"cut2.jpg"
    while True:
        img = ImageGrab.grab(size)
        image = img.convert('RGB')
        image.save(path_one)
        time.sleep(5)
        img = ImageGrab.grab(size)
        image = img.convert('RGB')
        image.save(path_two)
        if compare_images(path_one,path_two):
            m.click(mousePeopleXY[0], mousePeopleXY[1], n=2)
            m.click(mouseInputXY[0], mouseInputXY[1], n=2)
            pyperclip.copy(random.choice(lst))
            k.press_keys(['Command', 'V'])
            time.sleep(1)
            k.press_keys(['Return'])
            time.sleep(1)
        m.click(mouseInputXY[0], mouseInputXY[1])

好了核心部分,终极奥义就是

就是

就是

白嫖啦,直接把上面所有的代码段都拼起来,然后图片存放的路径改改,就可以用啦

快去用吧

去吧去吧

你还在看什么呢

别看我看代码呀

什么?

你说不完整?

哪里哪里

你看

startButton = ttk.Button(mainForm, text='启动', width=40, command=onClickStartButton)
startButton.grid(row=3, padx=5, pady=5)

mainForm.mainloop()

这不就完整啦,加上这段就可以用啦

什么?还不完整?!

你还想要用来敷衍的话,都懒到这种地步了吗(呜呜呜)

好吧

那我就贴在这里喽

# 新年快乐!!!

最后祝大家心想事成万事如意,福如东海寿比南山,一天更比一天好!!!

哦耶!

举报

相关推荐

0 条评论