feat 区分is_emoji和has_emoji字段
This commit is contained in:
@@ -107,7 +107,9 @@ class MessageRecv(Message):
|
|||||||
self.processed_plain_text = message_dict.get("processed_plain_text", "")
|
self.processed_plain_text = message_dict.get("processed_plain_text", "")
|
||||||
self.detailed_plain_text = message_dict.get("detailed_plain_text", "")
|
self.detailed_plain_text = message_dict.get("detailed_plain_text", "")
|
||||||
self.is_emoji = False
|
self.is_emoji = False
|
||||||
|
self.has_emoji = False
|
||||||
self.is_picid = False
|
self.is_picid = False
|
||||||
|
self.has_picid = False
|
||||||
self.is_mentioned = None
|
self.is_mentioned = None
|
||||||
self.priority_mode = "interest"
|
self.priority_mode = "interest"
|
||||||
self.priority_info = None
|
self.priority_info = None
|
||||||
@@ -134,25 +136,35 @@ class MessageRecv(Message):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
if segment.type == "text":
|
if segment.type == "text":
|
||||||
|
self.is_picid = False
|
||||||
|
self.is_emoji = False
|
||||||
return segment.data
|
return segment.data
|
||||||
elif segment.type == "image":
|
elif segment.type == "image":
|
||||||
# 如果是base64图片数据
|
# 如果是base64图片数据
|
||||||
if isinstance(segment.data, str):
|
if isinstance(segment.data, str):
|
||||||
|
self.has_picid = True
|
||||||
self.is_picid = True
|
self.is_picid = True
|
||||||
|
self.is_emoji = False
|
||||||
image_manager = get_image_manager()
|
image_manager = get_image_manager()
|
||||||
# print(f"segment.data: {segment.data}")
|
# print(f"segment.data: {segment.data}")
|
||||||
_, processed_text = await image_manager.process_image(segment.data)
|
_, processed_text = await image_manager.process_image(segment.data)
|
||||||
return processed_text
|
return processed_text
|
||||||
return "[发了一张图片,网卡了加载不出来]"
|
return "[发了一张图片,网卡了加载不出来]"
|
||||||
elif segment.type == "emoji":
|
elif segment.type == "emoji":
|
||||||
|
self.has_emoji = True
|
||||||
self.is_emoji = True
|
self.is_emoji = True
|
||||||
|
self.is_picid = False
|
||||||
if isinstance(segment.data, str):
|
if isinstance(segment.data, str):
|
||||||
return await get_image_manager().get_emoji_description(segment.data)
|
return await get_image_manager().get_emoji_description(segment.data)
|
||||||
return "[发了一个表情包,网卡了加载不出来]"
|
return "[发了一个表情包,网卡了加载不出来]"
|
||||||
elif segment.type == "mention_bot":
|
elif segment.type == "mention_bot":
|
||||||
|
self.is_picid = False
|
||||||
|
self.is_emoji = False
|
||||||
self.is_mentioned = float(segment.data)
|
self.is_mentioned = float(segment.data)
|
||||||
return ""
|
return ""
|
||||||
elif segment.type == "priority_info":
|
elif segment.type == "priority_info":
|
||||||
|
self.is_picid = False
|
||||||
|
self.is_emoji = False
|
||||||
if isinstance(segment.data, dict):
|
if isinstance(segment.data, dict):
|
||||||
# 处理优先级信息
|
# 处理优先级信息
|
||||||
self.priority_mode = "priority"
|
self.priority_mode = "priority"
|
||||||
|
|||||||
Reference in New Issue
Block a user