微信自动回复 基于聊天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("程序已结束!")