废话不多说直接上代码
请把文件放在logs文件夹里,并创建一个叫gpt.txt的文件,一定要把窗口向视频里那样放,如果不行,请重新测量坐标并更改。
import time
import pyautogui
import pyperclip
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
mc.postToChat("rongmc聊天chatGPT已启动!")
time.sleep(2)
with open('latest.log', 'r', encoding='UTF-8') as f:
line = f.readlines()
txt=line
f.close()
q=0
a=len(txt)
print(a)
mc.postToChat("初始化完毕!")
#初始化
while True:
time.sleep(2)
with open('latest.log', 'r', encoding='UTF-8') as f:
line = f.readlines()
txt=line
f.close()
#读取文件(行数和文件内容)
print(len(txt))
if q==1:
a=len(txt)
q=0
#如果已经向服务器发送消息就清零并更新列表数据
if len(txt)>a:
pd=0
rc=0
#如果服务器有人发消息就会让行数+1然后和之前的数据对比
rc=0
pyautogui.click(947,650,button='left')
pyperclip.copy(txt[-1])
pyautogui.hotkey('ctrl', 'v')
pyautogui.click(1232,656,button='left')
time.sleep(30)#将消息发送给gpt,并等待
pyautogui.click(768,550,button='left')
pyautogui.click(74,97,button='left')
pyautogui.hotkey('ctrl', 'a')
pyautogui.hotkey('ctrl', 'v')
pyautogui.hotkey('ctrl', 's')
#将回答粘贴在gpt.txt文件里
# pyautogui.click(62,677,button='left')
# pyautogui.hotkey('ctrl', 'v')
# pyautogui.keyDown('enter')
# pyautogui.keyUp('enter')
f=open('gpt.txt','r',encoding='UTF-8')
line = f.readline().strip()
txt=[]
txt.append(line)
l=line
while 1:
line = f.readline().strip()
txt.append(line)
if line==l:
break
l=line
f.close()
#读取gpt的回答,并逐行发送
for i in txt:
mc.postToChat(i)
time.sleep(0.5)
q=1#告诉判断已经发送消息了