Merge branch 'dev' of https://github.com/MaiM-with-u/MaiBot into dev
This commit is contained in:
@@ -271,8 +271,8 @@ async def _default_stream_response_handler(
|
|||||||
_insure_buffer_closed()
|
_insure_buffer_closed()
|
||||||
raise ReqAbortException("请求被外部信号中断")
|
raise ReqAbortException("请求被外部信号中断")
|
||||||
# 空 choices / usage-only 帧的防御
|
# 空 choices / usage-only 帧的防御
|
||||||
if not getattr(event, "choices", None) or len(event.choices) == 0:
|
if not hasattr(event, "choices") or not event.choices:
|
||||||
if getattr(event, "usage", None):
|
if hasattr(event, "usage") and event.usage:
|
||||||
_usage_record = (
|
_usage_record = (
|
||||||
event.usage.prompt_tokens or 0,
|
event.usage.prompt_tokens or 0,
|
||||||
event.usage.completion_tokens or 0,
|
event.usage.completion_tokens or 0,
|
||||||
|
|||||||
@@ -342,7 +342,7 @@ class RelationshipManager:
|
|||||||
"""
|
"""
|
||||||
person = Person(person_id=person_id)
|
person = Person(person_id=person_id)
|
||||||
person_name = person.person_name
|
person_name = person.person_name
|
||||||
nickname = person.nickname
|
# nickname = person.nickname
|
||||||
know_times: float = person.know_times
|
know_times: float = person.know_times
|
||||||
|
|
||||||
user_messages = bot_engaged_messages
|
user_messages = bot_engaged_messages
|
||||||
@@ -358,9 +358,15 @@ class RelationshipManager:
|
|||||||
if msg.get("user_id") == "system":
|
if msg.get("user_id") == "system":
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
msg_person = Person(user_id=msg.get("user_id"), platform=msg.get("chat_info_platform"))
|
|
||||||
|
user_id = msg.get("user_id")
|
||||||
|
platform = msg.get("chat_info_platform")
|
||||||
|
assert isinstance(user_id, str) and isinstance(platform, str)
|
||||||
|
if is_person_known(user_id=user_id, platform=platform):
|
||||||
|
msg_person = Person(user_id=user_id, platform=platform)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"初始化Person失败: {msg}")
|
logger.error(f"初始化Person失败: {msg}, 出现错误: {e}")
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
continue
|
continue
|
||||||
# 跳过机器人自己
|
# 跳过机器人自己
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ logger = get_logger("person_api")
|
|||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|
||||||
|
|
||||||
def get_person_id(platform: str, user_id: int) -> str:
|
def get_person_id(platform: str, user_id: int | str) -> str:
|
||||||
"""根据平台和用户ID获取person_id
|
"""根据平台和用户ID获取person_id
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@@ -33,7 +33,7 @@ def get_person_id(platform: str, user_id: int) -> str:
|
|||||||
person_id = person_api.get_person_id("qq", 123456)
|
person_id = person_api.get_person_id("qq", 123456)
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
return Person(platform=platform, user_id=user_id).person_id
|
return Person(platform=platform, user_id=str(user_id)).person_id
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"[PersonAPI] 获取person_id失败: platform={platform}, user_id={user_id}, error={e}")
|
logger.error(f"[PersonAPI] 获取person_id失败: platform={platform}, user_id={user_id}, error={e}")
|
||||||
return ""
|
return ""
|
||||||
|
|||||||
@@ -98,7 +98,9 @@ async def _send_to_target(
|
|||||||
|
|
||||||
if reply_message:
|
if reply_message:
|
||||||
anchor_message = message_dict_to_message_recv(reply_message)
|
anchor_message = message_dict_to_message_recv(reply_message)
|
||||||
|
if anchor_message:
|
||||||
anchor_message.update_chat_stream(target_stream)
|
anchor_message.update_chat_stream(target_stream)
|
||||||
|
assert anchor_message.message_info.user_info, "用户信息缺失"
|
||||||
reply_to_platform_id = (
|
reply_to_platform_id = (
|
||||||
f"{anchor_message.message_info.platform}:{anchor_message.message_info.user_info.user_id}"
|
f"{anchor_message.message_info.platform}:{anchor_message.message_info.user_info.user_id}"
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user