feat: 为当前回复添加format_accept的约束

This commit is contained in:
tcmofashi
2025-04-17 10:48:07 +08:00
parent ae2713f7b3
commit 92ac20aaf5
2 changed files with 30 additions and 22 deletions

View File

@@ -313,17 +313,21 @@ class MessageSending(MessageProcessBase):
def set_reply(self, reply: Optional["MessageRecv"] = None) -> None: def set_reply(self, reply: Optional["MessageRecv"] = None) -> None:
"""设置回复消息""" """设置回复消息"""
if reply: if (
self.reply = reply self.message_info.format_info.accept_format is not None
if self.reply: and "reply" in self.message_info.format_info.accept_format
self.reply_to_message_id = self.reply.message_info.message_id ):
self.message_segment = Seg( if reply:
type="seglist", self.reply = reply
data=[ if self.reply:
Seg(type="reply", data=self.reply.message_info.message_id), self.reply_to_message_id = self.reply.message_info.message_id
self.message_segment, self.message_segment = Seg(
], type="seglist",
) data=[
Seg(type="reply", data=self.reply.message_info.message_id),
self.message_segment,
],
)
return self return self
async def process(self) -> None: async def process(self) -> None:

View File

@@ -365,17 +365,21 @@ class ThinkFlowChat:
info_catcher.done_catch() info_catcher.done_catch()
# 处理表情包 # 处理表情包
try: if (
with Timer("处理表情包", timing_results): message.message_info.format_info.accept_format is not None
if global_config.emoji_chance == 1: and "emoji" in message.message_info.format_info.accept_format
if send_emoji: ):
logger.info(f"麦麦决定发送表情包{send_emoji}") try:
await self._handle_emoji(message, chat, response_set, send_emoji) with Timer("处理表情包", timing_results):
else: if global_config.emoji_chance == 1:
if random() < global_config.emoji_chance: if send_emoji:
await self._handle_emoji(message, chat, response_set) logger.info(f"麦麦决定发送表情包{send_emoji}")
except Exception as e: await self._handle_emoji(message, chat, response_set, send_emoji)
logger.error(f"心流处理表情包失败: {e}") else:
if random() < global_config.emoji_chance:
await self._handle_emoji(message, chat, response_set)
except Exception as e:
logger.error(f"心流处理表情包失败: {e}")
# 思考后脑内状态更新 # 思考后脑内状态更新
try: try: