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):
|
||||
person_info_manager = get_person_info_manager()
|
||||
person_id = person_info_manager.get_person_id(
|
||||
message_data.get("chat_info_platform"), # type: ignore
|
||||
message_data.get("user_id"), # type: ignore
|
||||
)
|
||||
|
||||
# 获取平台信息,优先使用chat_info_platform,如果为None则使用user_platform
|
||||
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")
|
||||
return f"{person_name}:{message_data.get('processed_plain_text')}"
|
||||
|
||||
@@ -486,10 +488,12 @@ class HeartFChatting:
|
||||
|
||||
# 存储reply action信息
|
||||
person_info_manager = get_person_info_manager()
|
||||
person_id = person_info_manager.get_person_id(
|
||||
action_message.get("chat_info_platform", ""),
|
||||
action_message.get("user_id", ""),
|
||||
)
|
||||
|
||||
# 获取平台信息,优先使用chat_info_platform,如果为空则使用user_platform
|
||||
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")
|
||||
action_prompt_display = f"你对{person_name}进行了回复:{reply_text}"
|
||||
|
||||
|
||||
@@ -87,6 +87,10 @@ class PersonInfoManager:
|
||||
@staticmethod
|
||||
def get_person_id(platform: str, user_id: Union[int, str]) -> str:
|
||||
"""获取唯一id"""
|
||||
# 检查platform是否为None或空
|
||||
if platform is None:
|
||||
platform = "unknown"
|
||||
|
||||
if "-" in platform:
|
||||
platform = platform.split("-")[1]
|
||||
|
||||
|
||||
@@ -85,14 +85,18 @@ class RelationshipManager:
|
||||
|
||||
# 遍历消息,构建映射
|
||||
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(
|
||||
platform=msg.get("chat_info_platform"), # type: ignore
|
||||
user_id=msg.get("user_id"), # type: ignore
|
||||
platform=platform, # type: ignore
|
||||
user_id=user_id, # type: ignore
|
||||
nickname=msg.get("user_nickname"), # type: ignore
|
||||
user_cardname=msg.get("user_cardname"), # 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_name = await person_info_manager.get_value(replace_person_id, "person_name")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user