fix:哈希错误

This commit is contained in:
SengokuCola
2025-04-25 00:39:34 +08:00
parent e24b7cedcb
commit 630c334c4a
3 changed files with 37 additions and 13 deletions

View File

@@ -480,7 +480,7 @@ MAI_STATE_CONFIG = {
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦状态 | {message}", "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦状态 | {message}",
}, },
"simple": { "simple": {
"console_format": "<level>{time:MM-DD HH:mm}</level> | <light-blue>麦麦状态 | {message} </light-blue>", # noqa: E501 "console_format": "<level>{time:MM-DD HH:mm}</level> | <fg #66CCFF>麦麦状态 | {message} </fg #66CCFF>", # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦状态 | {message}", "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦状态 | {message}",
}, },
} }
@@ -528,6 +528,25 @@ CONFIRM_STYLE_CONFIG = {
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | EULA与PRIVACY确认 | {message}", "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | EULA与PRIVACY确认 | {message}",
} }
# 天依蓝配置
TIANYI_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<fg #66CCFF>天依</fg #66CCFF> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 天依 | {message}",
},
"simple": {
"console_format": (
"<level>{time:MM-DD HH:mm}</level> | <fg #66CCFF>天依</fg #66CCFF> | <fg #66CCFF>{message}</fg #66CCFF>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 天依 | {message}",
},
}
# 根据SIMPLE_OUTPUT选择配置 # 根据SIMPLE_OUTPUT选择配置
MAIN_STYLE_CONFIG = MAIN_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MAIN_STYLE_CONFIG["advanced"] MAIN_STYLE_CONFIG = MAIN_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MAIN_STYLE_CONFIG["advanced"]
EMOJI_STYLE_CONFIG = EMOJI_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else EMOJI_STYLE_CONFIG["advanced"] EMOJI_STYLE_CONFIG = EMOJI_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else EMOJI_STYLE_CONFIG["advanced"]
@@ -563,6 +582,7 @@ TOOL_USE_STYLE_CONFIG = TOOL_USE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TO
PFC_STYLE_CONFIG = PFC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PFC_STYLE_CONFIG["advanced"] PFC_STYLE_CONFIG = PFC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PFC_STYLE_CONFIG["advanced"]
LPMM_STYLE_CONFIG = LPMM_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else LPMM_STYLE_CONFIG["advanced"] LPMM_STYLE_CONFIG = LPMM_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else LPMM_STYLE_CONFIG["advanced"]
INTEREST_STYLE_CONFIG = INTEREST_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else INTEREST_STYLE_CONFIG["advanced"] INTEREST_STYLE_CONFIG = INTEREST_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else INTEREST_STYLE_CONFIG["advanced"]
TIANYI_STYLE_CONFIG = TIANYI_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TIANYI_STYLE_CONFIG["advanced"]
def is_registered_module(record: dict) -> bool: def is_registered_module(record: dict) -> bool:

View File

@@ -310,12 +310,15 @@ def image_path_to_base64(image_path: str) -> str:
image_path: 图片文件路径 image_path: 图片文件路径
Returns: Returns:
str: base64编码的图片数据 str: base64编码的图片数据
Raises:
FileNotFoundError: 当图片文件不存在时
IOError: 当读取图片文件失败时
""" """
try: if not os.path.exists(image_path):
with open(image_path, "rb") as f: raise FileNotFoundError(f"图片文件不存在: {image_path}")
image_data = f.read()
return base64.b64encode(image_data).decode("utf-8") with open(image_path, "rb") as f:
except Exception as e: image_data = f.read()
logger.error(f"读取图片失败: {image_path}, 错误: {str(e)}") if not image_data:
traceback.print_exc() raise IOError(f"读取图片文件失败: {image_path}")
return None return base64.b64encode(image_data).decode("utf-8")

View File

@@ -215,7 +215,7 @@ class EmojiManager:
self._initialized = True self._initialized = True
# 更新表情包数量 # 更新表情包数量
# 启动时执行一次完整性检查 # 启动时执行一次完整性检查
self.check_emoji_file_integrity() # await self.check_emoji_file_integrity()
except Exception: except Exception:
logger.exception("初始化表情管理器失败") logger.exception("初始化表情管理器失败")
@@ -391,7 +391,7 @@ class EmojiManager:
await self.get_all_emoji_from_db() await self.get_all_emoji_from_db()
while True: while True:
logger.info("[扫描] 开始检查表情包完整性...") logger.info("[扫描] 开始检查表情包完整性...")
self.check_emoji_file_integrity() await self.check_emoji_file_integrity()
logger.info("[扫描] 开始扫描新表情包...") logger.info("[扫描] 开始扫描新表情包...")
# 检查表情包目录是否存在 # 检查表情包目录是否存在
@@ -463,6 +463,7 @@ class EmojiManager:
) )
# 设置额外属性 # 设置额外属性
emoji.hash = emoji_data.get("hash", "")
emoji.usage_count = emoji_data.get("usage_count", 0) emoji.usage_count = emoji_data.get("usage_count", 0)
emoji.last_used_time = emoji_data.get("last_used_time", emoji_data.get("timestamp", time.time())) emoji.last_used_time = emoji_data.get("last_used_time", emoji_data.get("timestamp", time.time()))
emoji.register_time = emoji_data.get("timestamp", time.time()) emoji.register_time = emoji_data.get("timestamp", time.time())
@@ -710,7 +711,7 @@ class EmojiManager:
# 分析情感含义 # 分析情感含义
emotion_prompt = f""" emotion_prompt = f"""
基于这个表情包的描述:'{description}'请列出1-3个可能的情感标签,每个标签用一个词组表示,格式如下: 基于这个表情包的描述:'{description}'请列出1-2个可能的情感标签,每个标签用一个词组表示,格式如下:
幽默的讽刺 幽默的讽刺
悲伤的无奈 悲伤的无奈
愤怒的抗议 愤怒的抗议
@@ -748,7 +749,7 @@ class EmojiManager:
new_emoji.emotion = emotions new_emoji.emotion = emotions
# 检查是否已经注册过 # 检查是否已经注册过
# 对比数据库中是否存在相同哈希值的表情包 # 对比内存中是否存在相同哈希值的表情包
if await self.get_emoji_from_manager(new_emoji.hash): if await self.get_emoji_from_manager(new_emoji.hash):
logger.warning(f"[警告] 表情包已存在: {filename}") logger.warning(f"[警告] 表情包已存在: {filename}")
return False return False