fix
parent
ad27c0ee4e
commit
15d96f7b43
|
|
@ -12,6 +12,7 @@ from .qq_emoji_list import qq_face
|
|||
from .message_sending import message_send_instance
|
||||
from . import RealMessageType, MessageType, ACCEPT_FORMAT
|
||||
|
||||
import re
|
||||
import time
|
||||
import json
|
||||
import base64
|
||||
|
|
@ -585,9 +586,16 @@ class MessageHandler:
|
|||
if face_raw_id in qq_face:
|
||||
face_content: str = qq_face.get(face_raw_id)
|
||||
return Seg(type="text", data=face_content)
|
||||
else:
|
||||
logger.warning(f"不支持的表情:{face_raw_id}")
|
||||
return None
|
||||
|
||||
# 兜底处理:读取 raw.faceText
|
||||
raw_data = message_data.get("raw", {})
|
||||
face_text = raw_data.get("faceText", "")
|
||||
if face_text:
|
||||
face_text_clean = face_text.lstrip("/")
|
||||
return Seg(type="text", data=f"[表情:{face_text_clean}]")
|
||||
|
||||
logger.warning(f"不支持的表情:{face_raw_id}")
|
||||
return None
|
||||
|
||||
async def handle_image_message(self, raw_message: dict) -> Seg | None:
|
||||
"""
|
||||
|
|
@ -599,11 +607,19 @@ class MessageHandler:
|
|||
"""
|
||||
message_data: dict = raw_message.get("data")
|
||||
image_sub_type = message_data.get("sub_type")
|
||||
summary = message_data.get("summary", "")
|
||||
try:
|
||||
image_base64 = await get_image_base64(message_data.get("url"))
|
||||
except Exception as e:
|
||||
logger.error(f"图片消息处理失败: {str(e)}")
|
||||
"""如果有 summary 就返回 summary 内容"""
|
||||
summary = re.sub(r"[\[\]]", "", summary)
|
||||
if summary:
|
||||
return Seg(type="text", data=f"[表情包:{summary}]")
|
||||
return None
|
||||
if "动画表情" in summary:
|
||||
"""将动画表情视为表情包,防止报错"""
|
||||
return Seg(type="emoji", data=image_base64)
|
||||
if image_sub_type == 0:
|
||||
"""这部分认为是图片"""
|
||||
return Seg(type="image", data=image_base64)
|
||||
|
|
|
|||
Loading…
Reference in New Issue