Merge branch 'master' of https://github.com/MaiBot-Plus/MaiMbot-Pro-Max
This commit is contained in:
@@ -464,10 +464,12 @@ class HeartFChatting:
|
|||||||
|
|
||||||
async def build_reply_to_str(self, message_data: dict):
|
async def build_reply_to_str(self, message_data: dict):
|
||||||
person_info_manager = get_person_info_manager()
|
person_info_manager = get_person_info_manager()
|
||||||
person_id = person_info_manager.get_person_id(
|
|
||||||
message_data.get("chat_info_platform"), # type: ignore
|
# 获取平台信息,优先使用chat_info_platform,如果为None则使用user_platform
|
||||||
message_data.get("user_id"), # type: ignore
|
platform = message_data.get("chat_info_platform") or message_data.get("user_platform") or self.chat_stream.platform
|
||||||
)
|
user_id = message_data.get("user_id")
|
||||||
|
|
||||||
|
person_id = person_info_manager.get_person_id(platform, user_id)
|
||||||
person_name = await person_info_manager.get_value(person_id, "person_name")
|
person_name = await person_info_manager.get_value(person_id, "person_name")
|
||||||
return f"{person_name}:{message_data.get('processed_plain_text')}"
|
return f"{person_name}:{message_data.get('processed_plain_text')}"
|
||||||
|
|
||||||
@@ -486,10 +488,12 @@ class HeartFChatting:
|
|||||||
|
|
||||||
# 存储reply action信息
|
# 存储reply action信息
|
||||||
person_info_manager = get_person_info_manager()
|
person_info_manager = get_person_info_manager()
|
||||||
person_id = person_info_manager.get_person_id(
|
|
||||||
action_message.get("chat_info_platform", ""),
|
# 获取平台信息,优先使用chat_info_platform,如果为空则使用user_platform
|
||||||
action_message.get("user_id", ""),
|
platform = action_message.get("chat_info_platform") or action_message.get("user_platform") or self.chat_stream.platform
|
||||||
)
|
user_id = action_message.get("user_id", "")
|
||||||
|
|
||||||
|
person_id = person_info_manager.get_person_id(platform, user_id)
|
||||||
person_name = await person_info_manager.get_value(person_id, "person_name")
|
person_name = await person_info_manager.get_value(person_id, "person_name")
|
||||||
action_prompt_display = f"你对{person_name}进行了回复:{reply_text}"
|
action_prompt_display = f"你对{person_name}进行了回复:{reply_text}"
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,10 @@ class PersonInfoManager:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def get_person_id(platform: str, user_id: Union[int, str]) -> str:
|
def get_person_id(platform: str, user_id: Union[int, str]) -> str:
|
||||||
"""获取唯一id"""
|
"""获取唯一id"""
|
||||||
|
# 检查platform是否为None或空
|
||||||
|
if platform is None:
|
||||||
|
platform = "unknown"
|
||||||
|
|
||||||
if "-" in platform:
|
if "-" in platform:
|
||||||
platform = platform.split("-")[1]
|
platform = platform.split("-")[1]
|
||||||
|
|
||||||
|
|||||||
@@ -85,14 +85,18 @@ class RelationshipManager:
|
|||||||
|
|
||||||
# 遍历消息,构建映射
|
# 遍历消息,构建映射
|
||||||
for msg in user_messages:
|
for msg in user_messages:
|
||||||
|
# 获取平台信息,优先使用chat_info_platform,如果为None则使用user_platform
|
||||||
|
platform = msg.get("chat_info_platform") or msg.get("user_platform", "unknown")
|
||||||
|
user_id = msg.get("user_id")
|
||||||
|
|
||||||
await person_info_manager.get_or_create_person(
|
await person_info_manager.get_or_create_person(
|
||||||
platform=msg.get("chat_info_platform"), # type: ignore
|
platform=platform, # type: ignore
|
||||||
user_id=msg.get("user_id"), # type: ignore
|
user_id=user_id, # type: ignore
|
||||||
nickname=msg.get("user_nickname"), # type: ignore
|
nickname=msg.get("user_nickname"), # type: ignore
|
||||||
user_cardname=msg.get("user_cardname"), # type: ignore
|
user_cardname=msg.get("user_cardname"), # type: ignore
|
||||||
)
|
)
|
||||||
replace_user_id: str = msg.get("user_id") # type: ignore
|
replace_user_id: str = msg.get("user_id") # type: ignore
|
||||||
replace_platform: str = msg.get("chat_info_platform") # type: ignore
|
replace_platform: str = platform # type: ignore
|
||||||
replace_person_id = PersonInfoManager.get_person_id(replace_platform, replace_user_id)
|
replace_person_id = PersonInfoManager.get_person_id(replace_platform, replace_user_id)
|
||||||
replace_person_name = await person_info_manager.get_value(replace_person_id, "person_name")
|
replace_person_name = await person_info_manager.get_value(replace_person_id, "person_name")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user