微信自动回复 基于聊天api的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
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的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
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 ( "程序已结束!" ) |
到此这篇关于基于chatgpt的微信自动回复功能实现的文章就介绍到这了,更多相关chatgpt微信自动回复内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/AubeLiang/p/17149837.html