修改翻译逻辑

This commit is contained in:
2025-10-28 15:46:46 +08:00
parent 2254284625
commit 4ff50ecdfc
8 changed files with 317 additions and 21 deletions

View File

@@ -10,6 +10,7 @@ from datetime import datetime
from Entity import Variables
from Utils.AiUtils import AiUtils
from Utils.ControlUtils import ControlUtils
from Utils.CountryEnum import CountryLanguageMapper
from Utils.IOSAIStorage import IOSAIStorage
from Utils.JsonUtils import JsonUtils
from Utils.LogManager import LogManager
@@ -59,6 +60,7 @@ class ScriptManager():
while time.time() < deadline:
if event.is_set():
return True
event.wait(timeout=min(step, max(0, deadline - time.time())))
return event.is_set()
@@ -432,11 +434,11 @@ class ScriptManager():
关注打招呼以及回复主播消息
"""
def safe_greetNewFollowers(self, udid, needReply, needTranslate, isComment, event):
def safe_greetNewFollowers(self, udid, needReply, isComment, event):
retries = 0
while not event.is_set():
try:
self.greetNewFollowers(udid, needReply, needTranslate, isComment,event)
self.greetNewFollowers(udid, needReply, isComment, event)
except Exception as e:
retries += 1
@@ -448,7 +450,7 @@ class ScriptManager():
break
LogManager.method_error("greetNewFollowers 重试次数耗尽,任务终止", "关注打招呼", udid)
def greetNewFollowers(self, udid, needReply, needTranslate, isComment, event):
def greetNewFollowers(self, udid, needReply, isComment, event):
if self.check_stop(event, "init"): # [ADD]
return
@@ -459,10 +461,11 @@ class ScriptManager():
print(f"是否要自动回复消息:{needReply}")
LogManager.method_info(f"是否要自动回复消息:{needReply}", "关注打招呼", udid)
LogManager.method_info(f"是否需要进行翻译:{needTranslate}", "关注打招呼", udid)
# 先关闭Tik Tok
ControlUtils.closeTikTok(session, udid)
if self.interruptible_sleep(event, 1): # [ADD] 可中断等待
return
@@ -704,10 +707,29 @@ class ScriptManager():
print("打招呼的数据", ev.prologueList)
LogManager.method_info(f"传递的打招呼的数据:{ev.prologueList}", "关注打招呼", udid)
# 准备打招呼的文案
text = random.choice(ev.prologueList)
LogManager.method_info(f"取出打招呼的数据,{text}, 判断是否需要翻译:{needTranslate}", "关注打招呼",
# 取出国家进行对应国家语言代码
anchorCountry_code = CountryLanguageMapper.get_language_code(anchorCountry)
# 判断对应的语言代码是否在传入的字典中
if anchorCountry_code in ev.prologueList:
# 进行原本的进行传入
privateMessageList = ev.prologueList[anchorCountry_code]
needTranslate = False
else:
# 需要翻译
privateMessageList = ev.prologueList['yolo']
needTranslate = True # 使用yolo必须翻译
# 准备打招呼的文案
text = random.choice(privateMessageList)
LogManager.method_info(f"取出打招呼的数据,{text}", "关注打招呼",
udid)
if needTranslate: