微信自动回复 基于聊天api的
import pyautogui import pyperclip import keyboard import requests import time print('程序即将开始,请打开微信!') # 检测是否有新消息 def findNews(): left, top, width, height = pyautogui.locateOnScreen("news.png", confidence=0.9) pyautogui.click(left + 20, top + 20) print('发现了新消息') # 发送消息 def sendMsg(): left, top, width, height = pyautogui.locateOnScreen('icon.png', confidence=0.9) print('获取到了图标位置') X = left + width pyautogui.rightClick(X, top - 40) pyautogui.click(X + 10, top - 40 + 10) friendMsg = pyperclip.paste() #将拷贝板内的文字转换为字符串 print('好友的消息:' + friendMsg) url = 'https://v.api.aa1.cn/api/api-xiaoai/talk.php' print('正在思考如何回复...') res = requests.get(url, params="msg=" + friendMsg) time.sleep(1) reply = res.text print('即将发送的消息:' + reply) pyperclip.copy(reply) pyautogui.click(X, top + 50) pyautogui.hotkey('ctrl', 'v') time.sleep(3) pyautogui.press('enter') print('发送成功!') time.sleep(1) # 恢复原始状态 print('恢复原始状态') left, top, width, height = pyautogui.locateOnScreen('reset.png', confidence=0.9) pyautogui.click(left + 20, top + 20) # 开始执行 while True: # time.sleep(1) # 如果按下退格键,则退出循环 if keyboard.is_pressed('backspace'): print('按下了退格键,程序即将结束') break # 捕获错误 try: findNews() sendMsg() except TypeError: print('没有发现新消息...', time.time()) pyautogui.alert(text='Python程序已结束!', title='提示', button='好的') print("程序已结束!")
微信自动回复 基于chatgpt的
import openai import pyautogui import pyperclip import keyboard import time openai.api_key = "你的chat-gpt API" def chat_gpt(prompt):# 你的问题prompt = prompt# 调用 ChatGPT 接口 model_engine = "text-davinci-003" completion = openai.Completion.create( engine=model_engine, prompt=prompt, max_tokens=1024, n=1, stop=None, temperature=0.5,) response = completion.choices[0].text return response print('程序即将开始,请打开微信!') # 检测是否有新消息 def findNews(): left, top, width, height = pyautogui.locateOnScreen("news.png", confidence=0.9) pyautogui.click(left + 20, top + 20) print('发现了新消息') # 发送消息 def sendMsg(): left, top, width, height = pyautogui.locateOnScreen('icon.png', confidence=0.9) print('获取到了图标位置') X = left + width pyautogui.rightClick(X, top - 35) pyautogui.click(X + 10, top - 40 + 10) friendMsg = pyperclip.paste() #将拷贝板内的文字转换为字符串 print('好友的消息:' + friendMsg) #url = 'https://v.api.aa1.cn/api/api-xiaoai/talk.php' print('正在思考如何回复...') #res = requests.get(url, params="msg=" + friendMsg) #time.sleep(1) reply = chat_gpt(friendMsg).replace('?','').strip() print('即将发送的消息:' + reply) pyperclip.copy(reply) pyautogui.click(X, top + 50) pyautogui.hotkey('ctrl', 'v') time.sleep(1) pyautogui.press('enter') print('发送成功!') #time.sleep(1) # 恢复原始状态 print('恢复原始状态') left, top, width, height = pyautogui.locateOnScreen('reset.png', confidence=0.9) pyautogui.click(left + 20, top + 20) # 开始执行 while True: # time.sleep(1) # 如果按下退格键,则退出循环 if keyboard.is_pressed('backspace'): print('按下了退格键,程序即将结束') break # 捕获错误 try: findNews() sendMsg() except TypeError: print('没有发现新消息...', time.time()) pyautogui.alert(text='Python程序已结束!', title='提示', button='好的') print("程序已结束!")