fix:修复回复目标文本为空

This commit is contained in:
SengokuCola
2025-06-08 17:44:15 +08:00
parent 4f7285d468
commit cbedf10cfd
3 changed files with 8 additions and 5 deletions

View File

@@ -106,7 +106,8 @@ class HeartFCSender:
and not message.is_private_message() and not message.is_private_message()
and message.reply.processed_plain_text != "[System Trigger Context]" and message.reply.processed_plain_text != "[System Trigger Context]"
): ):
message.set_reply(message.reply) # message.set_reply(message.reply)
message.set_reply()
logger.debug(f"[{chat_id}] 应用 set_reply 逻辑: {message.processed_plain_text[:20]}...") logger.debug(f"[{chat_id}] 应用 set_reply 逻辑: {message.processed_plain_text[:20]}...")
await message.process() await message.process()

View File

@@ -64,7 +64,7 @@ class ChattingInfoProcessor(BaseProcessor):
obs_info = ObsInfo() obs_info = ObsInfo()
# 改为异步任务,不阻塞主流程 # 改为异步任务,不阻塞主流程
asyncio.create_task(self.chat_compress(obs)) # asyncio.create_task(self.chat_compress(obs))
# 设置说话消息 # 设置说话消息
if hasattr(obs, "talking_message_str"): if hasattr(obs, "talking_message_str"):

View File

@@ -108,8 +108,8 @@ class MessageRecv(Message):
self.raw_message = message_dict.get("raw_message") self.raw_message = message_dict.get("raw_message")
# 处理消息内容 # 处理消息内容
self.processed_plain_text = "" # 初始化为空字符串 self.processed_plain_text = message_dict.get("processed_plain_text", "") # 初始化为空字符串
self.detailed_plain_text = "" # 初始化为空字符串 self.detailed_plain_text = message_dict.get("detailed_plain_text", "") # 初始化为空字符串
self.is_emoji = False self.is_emoji = False
def update_chat_stream(self, chat_stream: "ChatStream"): def update_chat_stream(self, chat_stream: "ChatStream"):
@@ -217,7 +217,9 @@ class MessageProcessBase(Message):
return f"[@{seg.data}]" return f"[@{seg.data}]"
elif seg.type == "reply": elif seg.type == "reply":
if self.reply and hasattr(self.reply, "processed_plain_text"): if self.reply and hasattr(self.reply, "processed_plain_text"):
return f"[回复:{self.reply.processed_plain_text}]" # print(f"self.reply.processed_plain_text: {self.reply.processed_plain_text}")
# print(f"reply: {self.reply}")
return f"[回复<{self.reply.message_info.user_info.user_nickname}:{self.reply.message_info.user_info.user_id}> 的消息:{self.reply.processed_plain_text}]"
return None return None
else: else:
return f"[{seg.type}:{str(seg.data)}]" return f"[{seg.type}:{str(seg.data)}]"