feat: 增加消息段mention_bot的解析

This commit is contained in:
tcmofashi
2025-07-02 13:05:57 +08:00
parent 02143a1a16
commit 289a92293b
3 changed files with 9 additions and 8 deletions

View File

@@ -108,7 +108,7 @@ class MessageRecv(Message):
self.detailed_plain_text = message_dict.get("detailed_plain_text", "")
self.is_emoji = False
self.is_picid = False
self.is_mentioned = 0.0
self.is_mentioned = None
self.priority_mode = "interest"
self.priority_info = None
@@ -152,14 +152,10 @@ class MessageRecv(Message):
elif segment.type == "mention_bot":
self.is_mentioned = float(segment.data)
return ""
elif segment.type == "set_priority_mode":
# 处理设置优先级模式的消息段
if isinstance(segment.data, str):
self.priority_mode = segment.data
return ""
elif segment.type == "priority_info":
if isinstance(segment.data, dict):
# 处理优先级信息
self.priority_mode = "priority"
self.priority_info = segment.data
"""
{

View File

@@ -494,7 +494,11 @@ class NormalChat:
# 检查是否有用户满足关系构建条件
asyncio.create_task(self._check_relation_building_conditions())
await self.reply_one_message(message)
do_reply = await self.reply_one_message(message)
response_set = do_reply if do_reply else []
factor = 0.5
cnt = sum([len(r) for r in response_set])
await asyncio.sleep(max(1, factor * cnt - 3)) # 等待tts
# 等待一段时间再检查队列
await asyncio.sleep(1)

View File

@@ -47,7 +47,8 @@ def is_mentioned_bot_in_message(message: MessageRecv) -> tuple[bool, float]:
reply_probability = 0.0
is_at = False
is_mentioned = False
if message.is_mentioned is not None:
return bool(message.is_mentioned), message.is_mentioned
if (
message.message_info.additional_config is not None
and message.message_info.additional_config.get("is_mentioned") is not None