更改处理个人复合消息的逻辑
This commit is contained in:
@@ -122,11 +122,11 @@ class MassageBuffer:
|
|||||||
keep_msgs = OrderedDict()
|
keep_msgs = OrderedDict()
|
||||||
combined_text = []
|
combined_text = []
|
||||||
found = False
|
found = False
|
||||||
is_text = False
|
type = "text"
|
||||||
for msg_id, msg in self.buffer_pool[person_id_].items():
|
for msg_id, msg in self.buffer_pool[person_id_].items():
|
||||||
if msg_id == message.message_info.message_id:
|
if msg_id == message.message_info.message_id:
|
||||||
found = True
|
found = True
|
||||||
is_text = msg.message.message_segment.type == "text"
|
type = msg.message.message_segment.type
|
||||||
combined_text.append(msg.message.processed_plain_text)
|
combined_text.append(msg.message.processed_plain_text)
|
||||||
continue
|
continue
|
||||||
if found:
|
if found:
|
||||||
@@ -141,9 +141,15 @@ class MassageBuffer:
|
|||||||
logger.debug(f"异常未处理信息id: {msg.message.message_info.message_id}")
|
logger.debug(f"异常未处理信息id: {msg.message.message_info.message_id}")
|
||||||
|
|
||||||
# 更新当前消息的processed_plain_text
|
# 更新当前消息的processed_plain_text
|
||||||
if combined_text and combined_text[0] != message.processed_plain_text and is_text:
|
if combined_text and combined_text[0] != message.processed_plain_text:
|
||||||
message.processed_plain_text = "".join(combined_text)
|
if type == "text":
|
||||||
logger.debug(f"整合了{len(combined_text)-1}条F消息的内容到当前消息")
|
message.processed_plain_text = "".join(combined_text)
|
||||||
|
logger.debug(f"整合了{len(combined_text)-1}条F消息的内容到当前消息")
|
||||||
|
elif type == "image":
|
||||||
|
combined_text.pop()
|
||||||
|
message.processed_plain_text = "".join(combined_text)
|
||||||
|
message.is_emoji = False
|
||||||
|
logger.debug(f"整合了{len(combined_text)-1}条F消息的内容,覆盖当前image消息")
|
||||||
|
|
||||||
self.buffer_pool[person_id_] = keep_msgs
|
self.buffer_pool[person_id_] = keep_msgs
|
||||||
return result
|
return result
|
||||||
|
|||||||
Reference in New Issue
Block a user