feat: 增加消息段mention_bot的解析
This commit is contained in:
@@ -108,7 +108,7 @@ class MessageRecv(Message):
|
|||||||
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.is_picid = False
|
self.is_picid = False
|
||||||
self.is_mentioned = 0.0
|
self.is_mentioned = None
|
||||||
self.priority_mode = "interest"
|
self.priority_mode = "interest"
|
||||||
self.priority_info = None
|
self.priority_info = None
|
||||||
|
|
||||||
@@ -152,14 +152,10 @@ class MessageRecv(Message):
|
|||||||
elif segment.type == "mention_bot":
|
elif segment.type == "mention_bot":
|
||||||
self.is_mentioned = float(segment.data)
|
self.is_mentioned = float(segment.data)
|
||||||
return ""
|
return ""
|
||||||
elif segment.type == "set_priority_mode":
|
|
||||||
# 处理设置优先级模式的消息段
|
|
||||||
if isinstance(segment.data, str):
|
|
||||||
self.priority_mode = segment.data
|
|
||||||
return ""
|
|
||||||
elif segment.type == "priority_info":
|
elif segment.type == "priority_info":
|
||||||
if isinstance(segment.data, dict):
|
if isinstance(segment.data, dict):
|
||||||
# 处理优先级信息
|
# 处理优先级信息
|
||||||
|
self.priority_mode = "priority"
|
||||||
self.priority_info = segment.data
|
self.priority_info = segment.data
|
||||||
"""
|
"""
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -494,7 +494,11 @@ class NormalChat:
|
|||||||
# 检查是否有用户满足关系构建条件
|
# 检查是否有用户满足关系构建条件
|
||||||
asyncio.create_task(self._check_relation_building_conditions())
|
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)
|
await asyncio.sleep(1)
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ def is_mentioned_bot_in_message(message: MessageRecv) -> tuple[bool, float]:
|
|||||||
reply_probability = 0.0
|
reply_probability = 0.0
|
||||||
is_at = False
|
is_at = False
|
||||||
is_mentioned = False
|
is_mentioned = False
|
||||||
|
if message.is_mentioned is not None:
|
||||||
|
return bool(message.is_mentioned), message.is_mentioned
|
||||||
if (
|
if (
|
||||||
message.message_info.additional_config is not None
|
message.message_info.additional_config is not None
|
||||||
and message.message_info.additional_config.get("is_mentioned") is not None
|
and message.message_info.additional_config.get("is_mentioned") is not None
|
||||||
|
|||||||
Reference in New Issue
Block a user